@deephaven/console 1.2.1-plotly-rc.3 → 1.3.0

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.
Files changed (73) hide show
  1. package/dist/Console.css.map +1 -1
  2. package/dist/Console.js.map +1 -1
  3. package/dist/ConsoleInput.css.map +1 -1
  4. package/dist/ConsoleInput.js.map +1 -1
  5. package/dist/ConsoleObjectsMenu.js.map +1 -1
  6. package/dist/ConsolePropTypes.js.map +1 -1
  7. package/dist/ConsoleShortcuts.js.map +1 -1
  8. package/dist/ConsoleStatusBar.css.map +1 -1
  9. package/dist/ConsoleStatusBar.js.map +1 -1
  10. package/dist/HeapUsage.css.map +1 -1
  11. package/dist/HeapUsage.js.map +1 -1
  12. package/dist/StoragePropTypes.js.map +1 -1
  13. package/dist/command-history/CommandHistory.css.map +1 -1
  14. package/dist/command-history/CommandHistory.js.map +1 -1
  15. package/dist/command-history/CommandHistoryActions.css.map +1 -1
  16. package/dist/command-history/CommandHistoryActions.js.map +1 -1
  17. package/dist/command-history/CommandHistoryItem.css.map +1 -1
  18. package/dist/command-history/CommandHistoryItem.js.map +1 -1
  19. package/dist/command-history/CommandHistoryItemTooltip.css.map +1 -1
  20. package/dist/command-history/CommandHistoryItemTooltip.js.map +1 -1
  21. package/dist/command-history/CommandHistoryStorage.js.map +1 -1
  22. package/dist/command-history/CommandHistoryTypes.js.map +1 -1
  23. package/dist/command-history/CommandHistoryViewportUpdater.js.map +1 -1
  24. package/dist/command-history/index.js.map +1 -1
  25. package/dist/common/Code.js.map +1 -1
  26. package/dist/common/ConsoleConstants.js.map +1 -1
  27. package/dist/common/ConsoleUtils.js.map +1 -1
  28. package/dist/common/ObjectIcon.js.map +1 -1
  29. package/dist/common/index.js.map +1 -1
  30. package/dist/console-history/ConsoleHistory.css.map +1 -1
  31. package/dist/console-history/ConsoleHistory.js.map +1 -1
  32. package/dist/console-history/ConsoleHistoryItem.css.map +1 -1
  33. package/dist/console-history/ConsoleHistoryItem.js.map +1 -1
  34. package/dist/console-history/ConsoleHistoryItemResult.js.map +1 -1
  35. package/dist/console-history/ConsoleHistoryResultErrorMessage.js.map +1 -1
  36. package/dist/console-history/ConsoleHistoryResultInProgress.css.map +1 -1
  37. package/dist/console-history/ConsoleHistoryResultInProgress.js.map +1 -1
  38. package/dist/console-history/ConsoleHistoryTypes.js.map +1 -1
  39. package/dist/console-history/index.js.map +1 -1
  40. package/dist/csv/CsvFormats.js.map +1 -1
  41. package/dist/csv/CsvInputBar.css.map +1 -1
  42. package/dist/csv/CsvInputBar.js.map +1 -1
  43. package/dist/csv/CsvOverlay.css.map +1 -1
  44. package/dist/csv/CsvOverlay.js.map +1 -1
  45. package/dist/csv/CsvParser.js.map +1 -1
  46. package/dist/csv/CsvTypeParser.js.map +1 -1
  47. package/dist/csv/ZipStreamHelper.js.map +1 -1
  48. package/dist/declaration.d.js.map +1 -1
  49. package/dist/index.js.map +1 -1
  50. package/dist/log/LogLevel.js.map +1 -1
  51. package/dist/log/LogLevelMenuItem.css.map +1 -1
  52. package/dist/log/LogLevelMenuItem.js.map +1 -1
  53. package/dist/log/LogView.css.map +1 -1
  54. package/dist/log/LogView.js.map +1 -1
  55. package/dist/monaco/MonacoProviders.js.map +1 -1
  56. package/dist/monaco/MonacoTheme.module.css.map +1 -1
  57. package/dist/monaco/MonacoThemeProvider.js.map +1 -1
  58. package/dist/monaco/MonacoUtils.js.map +1 -1
  59. package/dist/monaco/RuffDefaultSettings.js.map +1 -1
  60. package/dist/monaco/RuffSettingsModal.js.map +1 -1
  61. package/dist/monaco/index.js.map +1 -1
  62. package/dist/monaco/lang/Language.js.map +1 -1
  63. package/dist/monaco/lang/db.js.map +1 -1
  64. package/dist/monaco/lang/groovy.js.map +1 -1
  65. package/dist/monaco/lang/log.js.map +1 -1
  66. package/dist/monaco/lang/python.js.map +1 -1
  67. package/dist/monaco/lang/scala.js.map +1 -1
  68. package/dist/monaco/ruffSchema.js.map +1 -1
  69. package/dist/notebook/Editor.css.map +1 -1
  70. package/dist/notebook/Editor.js.map +1 -1
  71. package/dist/notebook/ScriptEditor.js.map +1 -1
  72. package/dist/notebook/ScriptEditorUtils.js.map +1 -1
  73. package/package.json +14 -14
@@ -1 +1 @@
1
- {"version":3,"file":"CommandHistoryViewportUpdater.js","names":["useEffect","useMemo","throttle","Log","UPDATE_DELAY","ROW_BUFFER_PAGES","log","module","CommandHistoryViewportUpdater","_ref","table","columns","top","bottom","search","isReversed","onUpdate","throttledUpdateViewport","viewport","viewHeight","bufferedTop","Math","max","bufferedBottom","setViewport","updateTableAndReturnCleanup","cleanup","viewportData","_viewportData$items","_viewportData$offset","items","offset","debug","setSearchText","setSearch","updateViewport","debug2","cancel"],"sources":["../../src/command-history/CommandHistoryViewportUpdater.tsx"],"sourcesContent":["import { useEffect, useMemo } from 'react';\nimport throttle from 'lodash.throttle';\nimport {\n type StorageTableViewport,\n type ViewportData,\n type ViewportUpdateCallback,\n} from '@deephaven/storage';\nimport Log from '@deephaven/log';\nimport {\n type CommandHistoryStorageItem,\n type CommandHistoryTable,\n} from './CommandHistoryStorage';\n\nexport type CommandHistoryViewportUpdaterProps = {\n table: CommandHistoryTable;\n columns?: string[];\n top?: number;\n bottom?: number;\n search?: string;\n isReversed?: boolean;\n onUpdate: ViewportUpdateCallback<CommandHistoryStorageItem>;\n};\n\nconst UPDATE_DELAY = 150;\n\nconst ROW_BUFFER_PAGES = 3;\n\nconst log = Log.module('CommandHistoryViewportUpdater');\n\nfunction CommandHistoryViewportUpdater({\n table,\n columns,\n top = 0,\n bottom = 0,\n search,\n isReversed = false,\n onUpdate,\n}: CommandHistoryViewportUpdaterProps): null {\n const throttledUpdateViewport = useMemo(\n () =>\n throttle((viewport: StorageTableViewport) => {\n const viewHeight = viewport.bottom - viewport.top;\n const bufferedTop = Math.max(\n 0,\n viewport.top - viewHeight * ROW_BUFFER_PAGES\n );\n const bufferedBottom = viewport.bottom + viewHeight * ROW_BUFFER_PAGES;\n\n table.setViewport({\n top: bufferedTop,\n bottom: bufferedBottom,\n columns: viewport.columns,\n });\n }, UPDATE_DELAY),\n [table]\n );\n\n useEffect(\n function updateTableAndReturnCleanup() {\n const cleanup = table.onUpdate(\n (viewportData: ViewportData<CommandHistoryStorageItem>) => {\n onUpdate({\n items: viewportData.items ?? [],\n offset: viewportData.offset ?? 0,\n });\n }\n );\n\n return () => {\n log.debug('onUpdate cleanup');\n cleanup();\n };\n },\n [table, onUpdate]\n );\n\n useEffect(\n function setSearchText() {\n table.setSearch(search ?? '');\n },\n [table, search]\n );\n useEffect(\n function updateViewport() {\n throttledUpdateViewport({\n top,\n bottom,\n columns,\n });\n },\n [throttledUpdateViewport, top, bottom, columns, search, isReversed]\n );\n useEffect(\n () => () => {\n log.debug2('Cancel throttledUpdateViewport');\n throttledUpdateViewport.cancel();\n },\n [throttledUpdateViewport]\n );\n\n return null;\n}\n\nexport default CommandHistoryViewportUpdater;\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAC1C,OAAOC,QAAQ,MAAM,iBAAiB;AAMtC,OAAOC,GAAG,MAAM,gBAAgB;AAgBhC,IAAMC,YAAY,GAAG,GAAG;AAExB,IAAMC,gBAAgB,GAAG,CAAC;AAE1B,IAAMC,GAAG,GAAGH,GAAG,CAACI,MAAM,CAAC,+BAA+B,CAAC;AAEvD,SAASC,6BAA6BA,CAAAC,IAAA,EAQO;EAAA,IARN;IACrCC,KAAK;IACLC,OAAO;IACPC,GAAG,GAAG,CAAC;IACPC,MAAM,GAAG,CAAC;IACVC,MAAM;IACNC,UAAU,GAAG,KAAK;IAClBC;EACkC,CAAC,GAAAP,IAAA;EACnC,IAAMQ,uBAAuB,GAAGhB,OAAO,CACrC,MACEC,QAAQ,CAAEgB,QAA8B,IAAK;IAC3C,IAAMC,UAAU,GAAGD,QAAQ,CAACL,MAAM,GAAGK,QAAQ,CAACN,GAAG;IACjD,IAAMQ,WAAW,GAAGC,IAAI,CAACC,GAAG,CAC1B,CAAC,EACDJ,QAAQ,CAACN,GAAG,GAAGO,UAAU,GAAGd,gBAC9B,CAAC;IACD,IAAMkB,cAAc,GAAGL,QAAQ,CAACL,MAAM,GAAGM,UAAU,GAAGd,gBAAgB;IAEtEK,KAAK,CAACc,WAAW,CAAC;MAChBZ,GAAG,EAAEQ,WAAW;MAChBP,MAAM,EAAEU,cAAc;MACtBZ,OAAO,EAAEO,QAAQ,CAACP;IACpB,CAAC,CAAC;EACJ,CAAC,EAAEP,YAAY,CAAC,EAClB,CAACM,KAAK,CACR,CAAC;EAEDV,SAAS,CACP,SAASyB,2BAA2BA,CAAA,EAAG;IACrC,IAAMC,OAAO,GAAGhB,KAAK,CAACM,QAAQ,CAC3BW,YAAqD,IAAK;MAAA,IAAAC,mBAAA,EAAAC,oBAAA;MACzDb,QAAQ,CAAC;QACPc,KAAK,GAAAF,mBAAA,GAAED,YAAY,CAACG,KAAK,cAAAF,mBAAA,cAAAA,mBAAA,GAAI,EAAE;QAC/BG,MAAM,GAAAF,oBAAA,GAAEF,YAAY,CAACI,MAAM,cAAAF,oBAAA,cAAAA,oBAAA,GAAI;MACjC,CAAC,CAAC;IACJ,CACF,CAAC;IAED,OAAO,MAAM;MACXvB,GAAG,CAAC0B,KAAK,CAAC,kBAAkB,CAAC;MAC7BN,OAAO,CAAC,CAAC;IACX,CAAC;EACH,CAAC,EACD,CAAChB,KAAK,EAAEM,QAAQ,CAClB,CAAC;EAEDhB,SAAS,CACP,SAASiC,aAAaA,CAAA,EAAG;IACvBvB,KAAK,CAACwB,SAAS,CAACpB,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,EAAE,CAAC;EAC/B,CAAC,EACD,CAACJ,KAAK,EAAEI,MAAM,CAChB,CAAC;EACDd,SAAS,CACP,SAASmC,cAAcA,CAAA,EAAG;IACxBlB,uBAAuB,CAAC;MACtBL,GAAG;MACHC,MAAM;MACNF;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAACM,uBAAuB,EAAEL,GAAG,EAAEC,MAAM,EAAEF,OAAO,EAAEG,MAAM,EAAEC,UAAU,CACpE,CAAC;EACDf,SAAS,CACP,MAAM,MAAM;IACVM,GAAG,CAAC8B,MAAM,CAAC,gCAAgC,CAAC;IAC5CnB,uBAAuB,CAACoB,MAAM,CAAC,CAAC;EAClC,CAAC,EACD,CAACpB,uBAAuB,CAC1B,CAAC;EAED,OAAO,IAAI;AACb;AAEA,eAAeT,6BAA6B","ignoreList":[]}
1
+ {"version":3,"file":"CommandHistoryViewportUpdater.js","names":["useEffect","useMemo","throttle","Log","UPDATE_DELAY","ROW_BUFFER_PAGES","log","module","CommandHistoryViewportUpdater","_ref","table","columns","top","bottom","search","isReversed","onUpdate","throttledUpdateViewport","viewport","viewHeight","bufferedTop","Math","max","bufferedBottom","setViewport","updateTableAndReturnCleanup","cleanup","viewportData","_viewportData$items","_viewportData$offset","items","offset","debug","setSearchText","setSearch","updateViewport","debug2","cancel"],"sources":["../../src/command-history/CommandHistoryViewportUpdater.tsx"],"sourcesContent":["import { useEffect, useMemo } from 'react';\nimport throttle from 'lodash.throttle';\nimport {\n type StorageTableViewport,\n type ViewportData,\n type ViewportUpdateCallback,\n} from '@deephaven/storage';\nimport Log from '@deephaven/log';\nimport {\n type CommandHistoryStorageItem,\n type CommandHistoryTable,\n} from './CommandHistoryStorage';\n\nexport type CommandHistoryViewportUpdaterProps = {\n table: CommandHistoryTable;\n columns?: string[];\n top?: number;\n bottom?: number;\n search?: string;\n isReversed?: boolean;\n onUpdate: ViewportUpdateCallback<CommandHistoryStorageItem>;\n};\n\nconst UPDATE_DELAY = 150;\n\nconst ROW_BUFFER_PAGES = 3;\n\nconst log = Log.module('CommandHistoryViewportUpdater');\n\nfunction CommandHistoryViewportUpdater({\n table,\n columns,\n top = 0,\n bottom = 0,\n search,\n isReversed = false,\n onUpdate,\n}: CommandHistoryViewportUpdaterProps): null {\n const throttledUpdateViewport = useMemo(\n () =>\n throttle((viewport: StorageTableViewport) => {\n const viewHeight = viewport.bottom - viewport.top;\n const bufferedTop = Math.max(\n 0,\n viewport.top - viewHeight * ROW_BUFFER_PAGES\n );\n const bufferedBottom = viewport.bottom + viewHeight * ROW_BUFFER_PAGES;\n\n table.setViewport({\n top: bufferedTop,\n bottom: bufferedBottom,\n columns: viewport.columns,\n });\n }, UPDATE_DELAY),\n [table]\n );\n\n useEffect(\n function updateTableAndReturnCleanup() {\n const cleanup = table.onUpdate(\n (viewportData: ViewportData<CommandHistoryStorageItem>) => {\n onUpdate({\n items: viewportData.items ?? [],\n offset: viewportData.offset ?? 0,\n });\n }\n );\n\n return () => {\n log.debug('onUpdate cleanup');\n cleanup();\n };\n },\n [table, onUpdate]\n );\n\n useEffect(\n function setSearchText() {\n table.setSearch(search ?? '');\n },\n [table, search]\n );\n useEffect(\n function updateViewport() {\n throttledUpdateViewport({\n top,\n bottom,\n columns,\n });\n },\n [throttledUpdateViewport, top, bottom, columns, search, isReversed]\n );\n useEffect(\n () => () => {\n log.debug2('Cancel throttledUpdateViewport');\n throttledUpdateViewport.cancel();\n },\n [throttledUpdateViewport]\n );\n\n return null;\n}\n\nexport default CommandHistoryViewportUpdater;\n"],"mappings":"AAAA,SAASA,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAC1C,OAAOC,QAAQ,MAAM,iBAAiB;AAMtC,OAAOC,GAAG,MAAM,gBAAgB;AAgBhC,IAAMC,YAAY,GAAG,GAAG;AAExB,IAAMC,gBAAgB,GAAG,CAAC;AAE1B,IAAMC,GAAG,GAAGH,GAAG,CAACI,MAAM,CAAC,+BAA+B,CAAC;AAEvD,SAASC,6BAA6BA,CAAAC,IAAA,EAQO;EAAA,IARN;IACrCC,KAAK;IACLC,OAAO;IACPC,GAAG,GAAG,CAAC;IACPC,MAAM,GAAG,CAAC;IACVC,MAAM;IACNC,UAAU,GAAG,KAAK;IAClBC;EACkC,CAAC,GAAAP,IAAA;EACnC,IAAMQ,uBAAuB,GAAGhB,OAAO,CACrC,MACEC,QAAQ,CAAEgB,QAA8B,IAAK;IAC3C,IAAMC,UAAU,GAAGD,QAAQ,CAACL,MAAM,GAAGK,QAAQ,CAACN,GAAG;IACjD,IAAMQ,WAAW,GAAGC,IAAI,CAACC,GAAG,CAC1B,CAAC,EACDJ,QAAQ,CAACN,GAAG,GAAGO,UAAU,GAAGd,gBAC9B,CAAC;IACD,IAAMkB,cAAc,GAAGL,QAAQ,CAACL,MAAM,GAAGM,UAAU,GAAGd,gBAAgB;IAEtEK,KAAK,CAACc,WAAW,CAAC;MAChBZ,GAAG,EAAEQ,WAAW;MAChBP,MAAM,EAAEU,cAAc;MACtBZ,OAAO,EAAEO,QAAQ,CAACP;IACpB,CAAC,CAAC;EACJ,CAAC,EAAEP,YAAY,CAAC,EAClB,CAACM,KAAK,CACR,CAAC;EAEDV,SAAS,CACP,SAASyB,2BAA2BA,CAAA,EAAG;IACrC,IAAMC,OAAO,GAAGhB,KAAK,CAACM,QAAQ,CAC3BW,YAAqD,IAAK;MAAA,IAAAC,mBAAA,EAAAC,oBAAA;MACzDb,QAAQ,CAAC;QACPc,KAAK,GAAAF,mBAAA,GAAED,YAAY,CAACG,KAAK,cAAAF,mBAAA,cAAAA,mBAAA,GAAI,EAAE;QAC/BG,MAAM,GAAAF,oBAAA,GAAEF,YAAY,CAACI,MAAM,cAAAF,oBAAA,cAAAA,oBAAA,GAAI;MACjC,CAAC,CAAC;IACJ,CACF,CAAC;IAED,OAAO,MAAM;MACXvB,GAAG,CAAC0B,KAAK,CAAC,kBAAkB,CAAC;MAC7BN,OAAO,CAAC,CAAC;IACX,CAAC;EACH,CAAC,EACD,CAAChB,KAAK,EAAEM,QAAQ,CAClB,CAAC;EAEDhB,SAAS,CACP,SAASiC,aAAaA,CAAA,EAAG;IACvBvB,KAAK,CAACwB,SAAS,CAACpB,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,EAAE,CAAC;EAC/B,CAAC,EACD,CAACJ,KAAK,EAAEI,MAAM,CAChB,CAAC;EACDd,SAAS,CACP,SAASmC,cAAcA,CAAA,EAAG;IACxBlB,uBAAuB,CAAC;MACtBL,GAAG;MACHC,MAAM;MACNF;IACF,CAAC,CAAC;EACJ,CAAC,EACD,CAACM,uBAAuB,EAAEL,GAAG,EAAEC,MAAM,EAAEF,OAAO,EAAEG,MAAM,EAAEC,UAAU,CACpE,CAAC;EACDf,SAAS,CACP,MAAM,MAAM;IACVM,GAAG,CAAC8B,MAAM,CAAC,gCAAgC,CAAC;IAC5CnB,uBAAuB,CAACoB,MAAM,CAAC,CAAC;EAClC,CAAC,EACD,CAACpB,uBAAuB,CAC1B,CAAC;EAED,OAAO,IAAI;AACb;AAEA,eAAeT,6BAA6B"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","CommandHistory","CommandHistoryActions","CommandHistoryItem","CommandHistoryItemTooltip"],"sources":["../../src/command-history/index.ts"],"sourcesContent":["export { default as CommandHistory } from './CommandHistory';\nexport * from './CommandHistory';\nexport { default as CommandHistoryActions } from './CommandHistoryActions';\nexport { default as CommandHistoryItem } from './CommandHistoryItem';\nexport { default as CommandHistoryItemTooltip } from './CommandHistoryItemTooltip';\nexport * from './CommandHistoryStorage';\n"],"mappings":"SAASA,OAAO,IAAIC,cAAc;AAAA;AAAA,SAEzBD,OAAO,IAAIE,qBAAqB;AAAA,SAChCF,OAAO,IAAIG,kBAAkB;AAAA,SAC7BH,OAAO,IAAII,yBAAyB;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["default","CommandHistory","CommandHistoryActions","CommandHistoryItem","CommandHistoryItemTooltip"],"sources":["../../src/command-history/index.ts"],"sourcesContent":["export { default as CommandHistory } from './CommandHistory';\nexport * from './CommandHistory';\nexport { default as CommandHistoryActions } from './CommandHistoryActions';\nexport { default as CommandHistoryItem } from './CommandHistoryItem';\nexport { default as CommandHistoryItemTooltip } from './CommandHistoryItemTooltip';\nexport * from './CommandHistoryStorage';\n"],"mappings":"SAASA,OAAO,IAAIC,cAAc;AAAA;AAAA,SAEzBD,OAAO,IAAIE,qBAAqB;AAAA,SAChCF,OAAO,IAAIG,kBAAkB;AAAA,SAC7BH,OAAO,IAAII,yBAAyB;AAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Code.js","names":["React","useEffect","useState","monaco","useTheme","jsx","_jsx","Code","_ref","children","language","colorizedHtml","setColorizedHtml","activeThemes","isCanceled","colorize","_colorize","apply","arguments","_asyncToGenerator","result","editor","toString","style","pointerEvents","dangerouslySetInnerHTML","__html","undefined"],"sources":["../../src/common/Code.tsx"],"sourcesContent":["import React, { useEffect, useState, type ReactNode } from 'react';\nimport * as monaco from 'monaco-editor';\nimport { useTheme } from '@deephaven/components';\n\ninterface CodeProps {\n children: ReactNode;\n language: string;\n}\n\nfunction Code({ children, language }: CodeProps): JSX.Element {\n const [colorizedHtml, setColorizedHtml] = useState<string | null>(null);\n const { activeThemes } = useTheme();\n\n useEffect(() => {\n let isCanceled = false;\n async function colorize() {\n if (children != null && activeThemes != null) {\n const result = await monaco.editor.colorize(\n children.toString(),\n language,\n {}\n );\n if (!isCanceled) {\n setColorizedHtml(result);\n }\n }\n }\n colorize();\n return () => {\n isCanceled = true;\n };\n }, [activeThemes, children, language]);\n\n return (\n <div\n // Add pointerEvents: 'none' has huge benefits on performance with Hit Test testing on large colorized elements.\n // You can still select the text event with this set\n style={{ pointerEvents: 'none' }}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={\n colorizedHtml != null ? { __html: colorizedHtml } : undefined\n }\n />\n );\n}\n\nexport default Code;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAwB,OAAO;AAClE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,QAAQ,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOjD,SAASC,IAAIA,CAAAC,IAAA,EAAiD;EAAA,IAAhD;IAAEC,QAAQ;IAAEC;EAAoB,CAAC,GAAAF,IAAA;EAC7C,IAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAGV,QAAQ,CAAgB,IAAI,CAAC;EACvE,IAAM;IAAEW;EAAa,CAAC,GAAGT,QAAQ,CAAC,CAAC;EAEnCH,SAAS,CAAC,MAAM;IACd,IAAIa,UAAU,GAAG,KAAK;IAAC,SACRC,QAAQA,CAAA;MAAA,OAAAC,SAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAAA,SAAAF,UAAA;MAAAA,SAAA,GAAAG,iBAAA,CAAvB,aAA0B;QACxB,IAAIV,QAAQ,IAAI,IAAI,IAAII,YAAY,IAAI,IAAI,EAAE;UAC5C,IAAMO,MAAM,SAASjB,MAAM,CAACkB,MAAM,CAACN,QAAQ,CACzCN,QAAQ,CAACa,QAAQ,CAAC,CAAC,EACnBZ,QAAQ,EACR,CAAC,CACH,CAAC;UACD,IAAI,CAACI,UAAU,EAAE;YACfF,gBAAgB,CAACQ,MAAM,CAAC;UAC1B;QACF;MACF,CAAC;MAAA,OAAAJ,SAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IACDH,QAAQ,CAAC,CAAC;IACV,OAAO,MAAM;MACXD,UAAU,GAAG,IAAI;IACnB,CAAC;EACH,CAAC,EAAE,CAACD,YAAY,EAAEJ,QAAQ,EAAEC,QAAQ,CAAC,CAAC;EAEtC,oBACEJ,IAAA;IACE;IACA;IACAiB,KAAK,EAAE;MAAEC,aAAa,EAAE;IAAO;IAC/B;IAAA;IACAC,uBAAuB,EACrBd,aAAa,IAAI,IAAI,GAAG;MAAEe,MAAM,EAAEf;IAAc,CAAC,GAAGgB;EACrD,CACF,CAAC;AAEN;AAEA,eAAepB,IAAI","ignoreList":[]}
1
+ {"version":3,"file":"Code.js","names":["React","useEffect","useState","monaco","useTheme","jsx","_jsx","Code","_ref","children","language","colorizedHtml","setColorizedHtml","activeThemes","isCanceled","colorize","_colorize","apply","arguments","_asyncToGenerator","result","editor","toString","style","pointerEvents","dangerouslySetInnerHTML","__html","undefined"],"sources":["../../src/common/Code.tsx"],"sourcesContent":["import React, { useEffect, useState, type ReactNode } from 'react';\nimport * as monaco from 'monaco-editor';\nimport { useTheme } from '@deephaven/components';\n\ninterface CodeProps {\n children: ReactNode;\n language: string;\n}\n\nfunction Code({ children, language }: CodeProps): JSX.Element {\n const [colorizedHtml, setColorizedHtml] = useState<string | null>(null);\n const { activeThemes } = useTheme();\n\n useEffect(() => {\n let isCanceled = false;\n async function colorize() {\n if (children != null && activeThemes != null) {\n const result = await monaco.editor.colorize(\n children.toString(),\n language,\n {}\n );\n if (!isCanceled) {\n setColorizedHtml(result);\n }\n }\n }\n colorize();\n return () => {\n isCanceled = true;\n };\n }, [activeThemes, children, language]);\n\n return (\n <div\n // Add pointerEvents: 'none' has huge benefits on performance with Hit Test testing on large colorized elements.\n // You can still select the text event with this set\n style={{ pointerEvents: 'none' }}\n // eslint-disable-next-line react/no-danger\n dangerouslySetInnerHTML={\n colorizedHtml != null ? { __html: colorizedHtml } : undefined\n }\n />\n );\n}\n\nexport default Code;\n"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,QAAQ,QAAwB,OAAO;AAClE,OAAO,KAAKC,MAAM,MAAM,eAAe;AACvC,SAASC,QAAQ,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAOjD,SAASC,IAAIA,CAAAC,IAAA,EAAiD;EAAA,IAAhD;IAAEC,QAAQ;IAAEC;EAAoB,CAAC,GAAAF,IAAA;EAC7C,IAAM,CAACG,aAAa,EAAEC,gBAAgB,CAAC,GAAGV,QAAQ,CAAgB,IAAI,CAAC;EACvE,IAAM;IAAEW;EAAa,CAAC,GAAGT,QAAQ,CAAC,CAAC;EAEnCH,SAAS,CAAC,MAAM;IACd,IAAIa,UAAU,GAAG,KAAK;IAAC,SACRC,QAAQA,CAAA;MAAA,OAAAC,SAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IAAA,SAAAF,UAAA;MAAAA,SAAA,GAAAG,iBAAA,CAAvB,aAA0B;QACxB,IAAIV,QAAQ,IAAI,IAAI,IAAII,YAAY,IAAI,IAAI,EAAE;UAC5C,IAAMO,MAAM,SAASjB,MAAM,CAACkB,MAAM,CAACN,QAAQ,CACzCN,QAAQ,CAACa,QAAQ,CAAC,CAAC,EACnBZ,QAAQ,EACR,CAAC,CACH,CAAC;UACD,IAAI,CAACI,UAAU,EAAE;YACfF,gBAAgB,CAACQ,MAAM,CAAC;UAC1B;QACF;MACF,CAAC;MAAA,OAAAJ,SAAA,CAAAC,KAAA,OAAAC,SAAA;IAAA;IACDH,QAAQ,CAAC,CAAC;IACV,OAAO,MAAM;MACXD,UAAU,GAAG,IAAI;IACnB,CAAC;EACH,CAAC,EAAE,CAACD,YAAY,EAAEJ,QAAQ,EAAEC,QAAQ,CAAC,CAAC;EAEtC,oBACEJ,IAAA;IACE;IACA;IACAiB,KAAK,EAAE;MAAEC,aAAa,EAAE;IAAO;IAC/B;IAAA;IACAC,uBAAuB,EACrBd,aAAa,IAAI,IAAI,GAAG;MAAEe,MAAM,EAAEf;IAAc,CAAC,GAAGgB;EACrD,CACF,CAAC;AAEN;AAEA,eAAepB,IAAI"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleConstants.js","names":["ConsoleConstants","LANGUAGE_MAP","Map"],"sources":["../../src/common/ConsoleConstants.ts"],"sourcesContent":["class ConsoleConstants {\n /**\n * Map of language keys to their display names\n */\n static get LANGUAGE_MAP(): Map<string, string> {\n return new Map([\n ['python', 'Python'],\n ['groovy', 'Groovy'],\n ['scala', 'Scala'],\n ]);\n }\n}\n\nexport default ConsoleConstants;\n"],"mappings":"AAAA,MAAMA,gBAAgB,CAAC;EACrB;AACF;AACA;EACE,WAAWC,YAAYA,CAAA,EAAwB;IAC7C,OAAO,IAAIC,GAAG,CAAC,CACb,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACpB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACpB,CAAC,OAAO,EAAE,OAAO,CAAC,CACnB,CAAC;EACJ;AACF;AAEA,eAAeF,gBAAgB","ignoreList":[]}
1
+ {"version":3,"file":"ConsoleConstants.js","names":["ConsoleConstants","LANGUAGE_MAP","Map"],"sources":["../../src/common/ConsoleConstants.ts"],"sourcesContent":["class ConsoleConstants {\n /**\n * Map of language keys to their display names\n */\n static get LANGUAGE_MAP(): Map<string, string> {\n return new Map([\n ['python', 'Python'],\n ['groovy', 'Groovy'],\n ['scala', 'Scala'],\n ]);\n }\n}\n\nexport default ConsoleConstants;\n"],"mappings":"AAAA,MAAMA,gBAAgB,CAAC;EACrB;AACF;AACA;EACE,WAAWC,YAAYA,CAAA,EAAwB;IAC7C,OAAO,IAAIC,GAAG,CAAC,CACb,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACpB,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACpB,CAAC,OAAO,EAAE,OAAO,CAAC,CACnB,CAAC;EACJ;AACF;AAEA,eAAeF,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleUtils.js","names":["ShellQuote","ConsoleUtils","hasComment","arg","comment","undefined","hasPattern","pattern","hasOp","op","parseArguments","str","String","parse","filter","map","concat","formatTimestamp","date","Date","hours","getHours","padStart","minutes","getMinutes","seconds","getSeconds","milliseconds","getMilliseconds","isTableType","dh","type","VariableType","TABLE","TREETABLE","HIERARCHICALTABLE","PARTITIONEDTABLE","isWidgetType","FIGURE","OTHERWIDGET","PANDAS","isOpenableType","isFigureType","isPandas"],"sources":["../../src/common/ConsoleUtils.ts"],"sourcesContent":["import ShellQuote, { type ParseEntry, type ControlOperator } from 'shell-quote';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\n\nclass ConsoleUtils {\n static hasComment(arg: ParseEntry): arg is { comment: string } {\n return (arg as { comment: string }).comment !== undefined;\n }\n\n static hasPattern(arg: ParseEntry): arg is { op: 'glob'; pattern: string } {\n return (arg as { pattern: string }).pattern !== undefined;\n }\n\n static hasOp(arg: ParseEntry): arg is { op: ControlOperator } {\n return (arg as { op: ControlOperator }).op !== undefined;\n }\n\n /**\n * Given the provided text, parse out arguments using shell quoting rules.\n * @param str The text to parse.\n * @returns string[] of the arguments. Empty if no arguments found.\n */\n static parseArguments(str: unknown): string[] {\n if (str == null || !(typeof str === 'string' || str instanceof String)) {\n return [];\n }\n\n // Parse can return an object, not just a string. See the `ParseEntry` type def for all types\n // We must map them all to strings. Filter out comments that will not be needed as well.\n return ShellQuote.parse(str as string)\n .filter(arg => !this.hasComment(arg))\n .map(arg => {\n if (this.hasPattern(arg)) {\n return arg.pattern;\n }\n if (this.hasOp(arg)) {\n return arg.op;\n }\n return `${arg}`;\n });\n }\n\n static formatTimestamp(date: Date): string | null {\n if (date == null || !(date instanceof Date)) {\n return null;\n }\n\n const hours = `${date.getHours()}`.padStart(2, '0');\n const minutes = `${date.getMinutes()}`.padStart(2, '0');\n const seconds = `${date.getSeconds()}`.padStart(2, '0');\n const milliseconds = `${date.getMilliseconds()}`.padStart(3, '0');\n\n return `${hours}:${minutes}:${seconds}.${milliseconds}`;\n }\n\n static isTableType(dh: typeof DhType, type: string): boolean {\n return (\n type === dh.VariableType.TABLE ||\n type === dh.VariableType.TREETABLE ||\n type === dh.VariableType.HIERARCHICALTABLE ||\n type === dh.VariableType.PARTITIONEDTABLE\n );\n }\n\n static isWidgetType(dh: typeof DhType, type: string): boolean {\n return (\n type === dh.VariableType.FIGURE ||\n type === dh.VariableType.OTHERWIDGET ||\n type === dh.VariableType.PANDAS\n );\n }\n\n static isOpenableType(dh: typeof DhType, type: string): boolean {\n return (\n ConsoleUtils.isTableType(dh, type) || ConsoleUtils.isWidgetType(dh, type)\n );\n }\n\n static isFigureType(dh: typeof DhType, type: string): boolean {\n return type === dh.VariableType.FIGURE;\n }\n\n static isPandas(dh: typeof DhType, type: string): boolean {\n return type === dh.VariableType.PANDAS;\n }\n}\n\nexport default ConsoleUtils;\n"],"mappings":"AAAA,OAAOA,UAAU,MAAiD,aAAa;AAG/E,MAAMC,YAAY,CAAC;EACjB,OAAOC,UAAUA,CAACC,GAAe,EAA8B;IAC7D,OAAQA,GAAG,CAAyBC,OAAO,KAAKC,SAAS;EAC3D;EAEA,OAAOC,UAAUA,CAACH,GAAe,EAA0C;IACzE,OAAQA,GAAG,CAAyBI,OAAO,KAAKF,SAAS;EAC3D;EAEA,OAAOG,KAAKA,CAACL,GAAe,EAAkC;IAC5D,OAAQA,GAAG,CAA6BM,EAAE,KAAKJ,SAAS;EAC1D;;EAEA;AACF;AACA;AACA;AACA;EACE,OAAOK,cAAcA,CAACC,GAAY,EAAY;IAC5C,IAAIA,GAAG,IAAI,IAAI,IAAI,EAAE,OAAOA,GAAG,KAAK,QAAQ,IAAIA,GAAG,YAAYC,MAAM,CAAC,EAAE;MACtE,OAAO,EAAE;IACX;;IAEA;IACA;IACA,OAAOZ,UAAU,CAACa,KAAK,CAACF,GAAa,CAAC,CACnCG,MAAM,CAACX,GAAG,IAAI,CAAC,IAAI,CAACD,UAAU,CAACC,GAAG,CAAC,CAAC,CACpCY,GAAG,CAACZ,GAAG,IAAI;MACV,IAAI,IAAI,CAACG,UAAU,CAACH,GAAG,CAAC,EAAE;QACxB,OAAOA,GAAG,CAACI,OAAO;MACpB;MACA,IAAI,IAAI,CAACC,KAAK,CAACL,GAAG,CAAC,EAAE;QACnB,OAAOA,GAAG,CAACM,EAAE;MACf;MACA,UAAAO,MAAA,CAAUb,GAAG;IACf,CAAC,CAAC;EACN;EAEA,OAAOc,eAAeA,CAACC,IAAU,EAAiB;IAChD,IAAIA,IAAI,IAAI,IAAI,IAAI,EAAEA,IAAI,YAAYC,IAAI,CAAC,EAAE;MAC3C,OAAO,IAAI;IACb;IAEA,IAAMC,KAAK,GAAG,GAAAJ,MAAA,CAAGE,IAAI,CAACG,QAAQ,CAAC,CAAC,EAAGC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACnD,IAAMC,OAAO,GAAG,GAAAP,MAAA,CAAGE,IAAI,CAACM,UAAU,CAAC,CAAC,EAAGF,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACvD,IAAMG,OAAO,GAAG,GAAAT,MAAA,CAAGE,IAAI,CAACQ,UAAU,CAAC,CAAC,EAAGJ,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IACvD,IAAMK,YAAY,GAAG,GAAAX,MAAA,CAAGE,IAAI,CAACU,eAAe,CAAC,CAAC,EAAGN,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC;IAEjE,UAAAN,MAAA,CAAUI,KAAK,OAAAJ,MAAA,CAAIO,OAAO,OAAAP,MAAA,CAAIS,OAAO,OAAAT,MAAA,CAAIW,YAAY;EACvD;EAEA,OAAOE,WAAWA,CAACC,EAAiB,EAAEC,IAAY,EAAW;IAC3D,OACEA,IAAI,KAAKD,EAAE,CAACE,YAAY,CAACC,KAAK,IAC9BF,IAAI,KAAKD,EAAE,CAACE,YAAY,CAACE,SAAS,IAClCH,IAAI,KAAKD,EAAE,CAACE,YAAY,CAACG,iBAAiB,IAC1CJ,IAAI,KAAKD,EAAE,CAACE,YAAY,CAACI,gBAAgB;EAE7C;EAEA,OAAOC,YAAYA,CAACP,EAAiB,EAAEC,IAAY,EAAW;IAC5D,OACEA,IAAI,KAAKD,EAAE,CAACE,YAAY,CAACM,MAAM,IAC/BP,IAAI,KAAKD,EAAE,CAACE,YAAY,CAACO,WAAW,IACpCR,IAAI,KAAKD,EAAE,CAACE,YAAY,CAACQ,MAAM;EAEnC;EAEA,OAAOC,cAAcA,CAACX,EAAiB,EAAEC,IAAY,EAAW;IAC9D,OACE9B,YAAY,CAAC4B,WAAW,CAACC,EAAE,EAAEC,IAAI,CAAC,IAAI9B,YAAY,CAACoC,YAAY,CAACP,EAAE,EAAEC,IAAI,CAAC;EAE7E;EAEA,OAAOW,YAAYA,CAACZ,EAAiB,EAAEC,IAAY,EAAW;IAC5D,OAAOA,IAAI,KAAKD,EAAE,CAACE,YAAY,CAACM,MAAM;EACxC;EAEA,OAAOK,QAAQA,CAACb,EAAiB,EAAEC,IAAY,EAAW;IACxD,OAAOA,IAAI,KAAKD,EAAE,CAACE,YAAY,CAACQ,MAAM;EACxC;AACF;AAEA,eAAevC,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"ConsoleUtils.js","names":["ShellQuote","ConsoleUtils","hasComment","arg","comment","undefined","hasPattern","pattern","hasOp","op","parseArguments","str","String","parse","filter","map","concat","formatTimestamp","date","Date","hours","getHours","padStart","minutes","getMinutes","seconds","getSeconds","milliseconds","getMilliseconds","isTableType","dh","type","VariableType","TABLE","TREETABLE","HIERARCHICALTABLE","PARTITIONEDTABLE","isWidgetType","FIGURE","OTHERWIDGET","PANDAS","isOpenableType","isFigureType","isPandas"],"sources":["../../src/common/ConsoleUtils.ts"],"sourcesContent":["import ShellQuote, { type ParseEntry, type ControlOperator } from 'shell-quote';\nimport type { dh as DhType } from '@deephaven/jsapi-types';\n\nclass ConsoleUtils {\n static hasComment(arg: ParseEntry): arg is { comment: string } {\n return (arg as { comment: string }).comment !== undefined;\n }\n\n static hasPattern(arg: ParseEntry): arg is { op: 'glob'; pattern: string } {\n return (arg as { pattern: string }).pattern !== undefined;\n }\n\n static hasOp(arg: ParseEntry): arg is { op: ControlOperator } {\n return (arg as { op: ControlOperator }).op !== undefined;\n }\n\n /**\n * Given the provided text, parse out arguments using shell quoting rules.\n * @param str The text to parse.\n * @returns string[] of the arguments. Empty if no arguments found.\n */\n static parseArguments(str: unknown): string[] {\n if (str == null || !(typeof str === 'string' || str instanceof String)) {\n return [];\n }\n\n // Parse can return an object, not just a string. See the `ParseEntry` type def for all types\n // We must map them all to strings. Filter out comments that will not be needed as well.\n return ShellQuote.parse(str as string)\n .filter(arg => !this.hasComment(arg))\n .map(arg => {\n if (this.hasPattern(arg)) {\n return arg.pattern;\n }\n if (this.hasOp(arg)) {\n return arg.op;\n }\n return `${arg}`;\n });\n }\n\n static formatTimestamp(date: Date): string | null {\n if (date == null || !(date instanceof Date)) {\n return null;\n }\n\n const hours = `${date.getHours()}`.padStart(2, '0');\n const minutes = `${date.getMinutes()}`.padStart(2, '0');\n const seconds = `${date.getSeconds()}`.padStart(2, '0');\n const milliseconds = `${date.getMilliseconds()}`.padStart(3, '0');\n\n return `${hours}:${minutes}:${seconds}.${milliseconds}`;\n }\n\n static isTableType(dh: typeof DhType, type: string): boolean {\n return (\n type === dh.VariableType.TABLE ||\n type === dh.VariableType.TREETABLE ||\n type === dh.VariableType.HIERARCHICALTABLE ||\n type === dh.VariableType.PARTITIONEDTABLE\n );\n }\n\n static isWidgetType(dh: typeof DhType, type: string): boolean {\n return (\n type === dh.VariableType.FIGURE ||\n type === dh.VariableType.OTHERWIDGET ||\n type === dh.VariableType.PANDAS\n );\n }\n\n static isOpenableType(dh: typeof DhType, type: string): boolean {\n return (\n ConsoleUtils.isTableType(dh, type) || ConsoleUtils.isWidgetType(dh, type)\n );\n }\n\n static isFigureType(dh: typeof DhType, type: string): boolean {\n return type === dh.VariableType.FIGURE;\n }\n\n static isPandas(dh: typeof DhType, type: string): boolean {\n return type === dh.VariableType.PANDAS;\n }\n}\n\nexport default ConsoleUtils;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ObjectIcon.js","names":["React","FontAwesomeIcon","dhPandas","dhTable","vsGraph","vsPreview","useApi","jsx","_jsx","ObjectIcon","_ref","type","dh","VariableType","TABLE","TABLEMAP","TREETABLE","HIERARCHICALTABLE","PARTITIONEDTABLE","icon","FIGURE","PANDAS"],"sources":["../../src/common/ObjectIcon.tsx"],"sourcesContent":["import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { dhPandas, dhTable, vsGraph, vsPreview } from '@deephaven/icons';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\n\nexport type ObjectIconProps = {\n type: string;\n};\n\nfunction ObjectIcon({ type }: ObjectIconProps): JSX.Element {\n const dh = useApi();\n switch (type) {\n case dh.VariableType.TABLE:\n case dh.VariableType.TABLEMAP:\n case dh.VariableType.TREETABLE:\n case dh.VariableType.HIERARCHICALTABLE:\n case dh.VariableType.PARTITIONEDTABLE:\n return <FontAwesomeIcon icon={dhTable} />;\n case dh.VariableType.FIGURE:\n return <FontAwesomeIcon icon={vsGraph} />;\n case dh.VariableType.PANDAS:\n return <FontAwesomeIcon icon={dhPandas} />;\n default:\n return <FontAwesomeIcon icon={vsPreview} />;\n }\n}\n\nexport default ObjectIcon;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAEC,SAAS,QAAQ,kBAAkB;AACxE,SAASC,MAAM,QAAQ,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMpD,SAASC,UAAUA,CAAAC,IAAA,EAAyC;EAAA,IAAxC;IAAEC;EAAsB,CAAC,GAAAD,IAAA;EAC3C,IAAME,EAAE,GAAGN,MAAM,CAAC,CAAC;EACnB,QAAQK,IAAI;IACV,KAAKC,EAAE,CAACC,YAAY,CAACC,KAAK;IAC1B,KAAKF,EAAE,CAACC,YAAY,CAACE,QAAQ;IAC7B,KAAKH,EAAE,CAACC,YAAY,CAACG,SAAS;IAC9B,KAAKJ,EAAE,CAACC,YAAY,CAACI,iBAAiB;IACtC,KAAKL,EAAE,CAACC,YAAY,CAACK,gBAAgB;MACnC,oBAAOV,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEhB;MAAQ,CAAE,CAAC;IAC3C,KAAKS,EAAE,CAACC,YAAY,CAACO,MAAM;MACzB,oBAAOZ,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEf;MAAQ,CAAE,CAAC;IAC3C,KAAKQ,EAAE,CAACC,YAAY,CAACQ,MAAM;MACzB,oBAAOb,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEjB;MAAS,CAAE,CAAC;IAC5C;MACE,oBAAOM,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEd;MAAU,CAAE,CAAC;EAC/C;AACF;AAEA,eAAeI,UAAU","ignoreList":[]}
1
+ {"version":3,"file":"ObjectIcon.js","names":["React","FontAwesomeIcon","dhPandas","dhTable","vsGraph","vsPreview","useApi","jsx","_jsx","ObjectIcon","_ref","type","dh","VariableType","TABLE","TABLEMAP","TREETABLE","HIERARCHICALTABLE","PARTITIONEDTABLE","icon","FIGURE","PANDAS"],"sources":["../../src/common/ObjectIcon.tsx"],"sourcesContent":["import React from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { dhPandas, dhTable, vsGraph, vsPreview } from '@deephaven/icons';\nimport { useApi } from '@deephaven/jsapi-bootstrap';\n\nexport type ObjectIconProps = {\n type: string;\n};\n\nfunction ObjectIcon({ type }: ObjectIconProps): JSX.Element {\n const dh = useApi();\n switch (type) {\n case dh.VariableType.TABLE:\n case dh.VariableType.TABLEMAP:\n case dh.VariableType.TREETABLE:\n case dh.VariableType.HIERARCHICALTABLE:\n case dh.VariableType.PARTITIONEDTABLE:\n return <FontAwesomeIcon icon={dhTable} />;\n case dh.VariableType.FIGURE:\n return <FontAwesomeIcon icon={vsGraph} />;\n case dh.VariableType.PANDAS:\n return <FontAwesomeIcon icon={dhPandas} />;\n default:\n return <FontAwesomeIcon icon={vsPreview} />;\n }\n}\n\nexport default ObjectIcon;\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,eAAe,QAAQ,gCAAgC;AAChE,SAASC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAEC,SAAS,QAAQ,kBAAkB;AACxE,SAASC,MAAM,QAAQ,4BAA4B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMpD,SAASC,UAAUA,CAAAC,IAAA,EAAyC;EAAA,IAAxC;IAAEC;EAAsB,CAAC,GAAAD,IAAA;EAC3C,IAAME,EAAE,GAAGN,MAAM,CAAC,CAAC;EACnB,QAAQK,IAAI;IACV,KAAKC,EAAE,CAACC,YAAY,CAACC,KAAK;IAC1B,KAAKF,EAAE,CAACC,YAAY,CAACE,QAAQ;IAC7B,KAAKH,EAAE,CAACC,YAAY,CAACG,SAAS;IAC9B,KAAKJ,EAAE,CAACC,YAAY,CAACI,iBAAiB;IACtC,KAAKL,EAAE,CAACC,YAAY,CAACK,gBAAgB;MACnC,oBAAOV,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEhB;MAAQ,CAAE,CAAC;IAC3C,KAAKS,EAAE,CAACC,YAAY,CAACO,MAAM;MACzB,oBAAOZ,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEf;MAAQ,CAAE,CAAC;IAC3C,KAAKQ,EAAE,CAACC,YAAY,CAACQ,MAAM;MACzB,oBAAOb,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEjB;MAAS,CAAE,CAAC;IAC5C;MACE,oBAAOM,IAAA,CAACP,eAAe;QAACkB,IAAI,EAAEd;MAAU,CAAE,CAAC;EAC/C;AACF;AAEA,eAAeI,UAAU"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["default","ObjectIcon","Code","ConsoleConstants","ConsoleUtils"],"sources":["../../src/common/index.ts"],"sourcesContent":["export { default as ObjectIcon } from './ObjectIcon';\nexport { default as Code } from './Code';\nexport { default as ConsoleConstants } from './ConsoleConstants';\nexport { default as ConsoleUtils } from './ConsoleUtils';\n"],"mappings":"SAASA,OAAO,IAAIC,UAAU;AAAA,SACrBD,OAAO,IAAIE,IAAI;AAAA,SACfF,OAAO,IAAIG,gBAAgB;AAAA,SAC3BH,OAAO,IAAII,YAAY","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["default","ObjectIcon","Code","ConsoleConstants","ConsoleUtils"],"sources":["../../src/common/index.ts"],"sourcesContent":["export { default as ObjectIcon } from './ObjectIcon';\nexport { default as Code } from './Code';\nexport { default as ConsoleConstants } from './ConsoleConstants';\nexport { default as ConsoleUtils } from './ConsoleUtils';\n"],"mappings":"SAASA,OAAO,IAAIC,UAAU;AAAA,SACrBD,OAAO,IAAIE,IAAI;AAAA,SACfF,OAAO,IAAIG,gBAAgB;AAAA,SAC3BH,OAAO,IAAII,YAAY"}
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../../node_modules/@deephaven/components/scss/custom.scss","../../../../node_modules/@deephaven/components/scss/bootstrap_overrides.scss","../../src/console-history/ConsoleHistory.scss","../../src/common/_ConsoleVariables.scss"],"names":[],"mappings":"AAAA;AC6LA;ACvLA;EACE;;;AAGF;AAAA;EAEE,aD+HsB;EC9HtB,WCbU;EDcV,aCbY;EDcZ;;AAEA;AAAA;AAAA;AAAA;EAEE;EACA;EACA,YAjBmB;EAkBnB;EACA;EACA,ODNO;ECOP;;AAGF;AAAA;EACE;EACA;EACA;;AAIA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA","file":"ConsoleHistory.css","sourcesContent":["/* stylelint-disable scss/at-import-no-partial-leading-underscore */\n// Consumers should be able to resolve bootstrap/ to node_modules/bootstrap\n\n//Make bootstrap functions available for use in overrides\n@import 'bootstrap/scss/_functions.scss';\n@import './bootstrap_overrides.scss';\n\n//_variable imports come after bootstrap default overrides,\n// makes all other variables and mixins from bootstrap available\n/// with just importing customer.scss\n@import 'bootstrap/scss/_variables.scss';\n@import 'bootstrap/scss/_mixins.scss';\n\n//New variables come after imports\n@import './new_variables.scss';\n@import './util.scss';\n","// Styling overrides for bootstrap\n@use 'sass:map';\n\n// Override / set color variables\n$red: var(--dh-color-visual-red);\n$orange: var(--dh-color-visual-orange);\n$yellow: var(--dh-color-visual-yellow);\n$green: var(--dh-color-visual-green);\n$blue: var(--dh-color-visual-blue);\n$purple: var(--dh-color-visual-purple);\n\n// Fallback colors are used if theme isn't loaded\n// this is required for error messages if the API doesn't load\n\n//Define our Gray scale\n$gray-100: var(--dh-color-gray-900, #fcfcfa);\n$gray-200: var(--dh-color-gray-800);\n$gray-300: var(--dh-color-gray-700);\n$gray-400: var(--dh-color-gray-600);\n$gray-500: var(--dh-color-gray-500);\n// intentional duplicate, scale doesn't line up otherwise\n// as we have gray-850 and spectrum doesn't and it is needed\n$gray-600: var(--dh-color-gray-500);\n$gray-700: var(--dh-color-gray-400);\n$gray-800: var(--dh-color-gray-300);\n$gray-850: var(--dh-color-gray-200);\n$gray-900: var(--dh-color-gray-75);\n$black: var(--dh-color-black, #1a171a);\n$white: var(--dh-color-white, #f0f0ee);\n\n//Define some UI colors\n$interfacegray: var(--dh-color-content-bg, #2d2a2e);\n$interfaceblue: var(--dh-color-accent-bg);\n$interfacewhite: $white;\n$interfaceblack: $black;\n$content-bg: var(--dh-color-content-bg, #2d2a2e);\n$background: var(--dh-color-bg, #1a171a);\n$foreground: var(--dh-color-fg, #f0f0ee);\n\n// Extend default Bootstrap $grays map\n$grays-custom: (\n '850': $gray-850,\n);\n$grays: () !default;\n$grays: map-merge($grays, $grays-custom);\n\n// Extend default Bootstrap $colors map\n$colors-custom: (\n 'black': $black,\n);\n$colors: () !default;\n$colors: map-merge($colors, $colors-custom);\n\n// Override default Bootstrap $theme-colors map by mapping each key to itself.\n// These will then be re-mapped inside of `button-outline-variant` and\n// `button-outline-variant` mixins in `bootstrap_override_mixins_buttons.scss`\n$theme-colors-self-map: ();\n@each $key\n in (\n 'primary',\n 'secondary',\n 'success',\n 'info',\n 'warning',\n 'danger',\n 'light',\n 'dark'\n )\n{\n $theme-colors-self-map: map.set($theme-colors-self-map, $key, $key);\n}\n$theme-colors: () !default;\n$theme-colors: map-merge($theme-colors, $theme-colors-self-map);\n\n// Used by bootstrap_override_mixins_buttons.scss to map Bootstrap colors to\n// DH semantic colors\n$bootstrap-dh-semantic-map: (\n 'primary': 'accent',\n 'secondary': 'neutral',\n 'success': 'positive',\n 'info': 'info',\n 'warning': 'notice',\n 'danger': 'negative',\n // We shouldn't be using these, but mapping so they work with our custom\n // `color-yiq` mixin. If we find a way to remove $light + $dark that are\n // defined in Bootstrap _variables.scss, we should remove these\n 'light': 'neutral',\n 'dark': 'neutral',\n);\n\n//Set default colors\n$body-bg: $black;\n$body-color: $interfacewhite;\n\n// Set brand colors\n$primary: var(--dh-color-accent-bg);\n$primary-hover: var(--dh-color-accent-hover-bg);\n$primary-dark: var(--dh-color-accent-down-bg);\n$secondary: var(--dh-color-neutral-bg);\n$secondary-hover: var(--dh-color-neutral-hover-bg);\n$success: $green;\n$info: $yellow;\n$warning: $orange;\n$danger: var(--dh-color-negative-bg);\n$danger-hover: var(--dh-color-negative-hover-bg);\n// We really don't want to use $light or $dark variables, but Bootstrap defines\n// them in _variables.scss. Explicitly setting them to ensure we are in control\n// of their values. If we can find a way to remove them, we should\n$light: var(--dh-color-gray-light);\n$dark: var(--dh-color-gray-dark);\n// Bootstrap doesn't define $mid, and we want to move away from this particular\n// semantic. Should be deleted by #1635\n$mid: var(--dh-color-gray-mid);\n\n$semantic-colors: (\n 'primary-hover': $primary-hover,\n 'primary-dark': $primary-dark,\n 'mid': $mid,\n 'content-bg': $interfacegray,\n 'background': $interfaceblack,\n 'foreground': $interfacewhite,\n 'secondary-hover': $secondary-hover,\n 'danger-hover': $danger-hover,\n);\n\n$component-active-bg: $primary;\n$theme-color-interval: 9%;\n$yiq-contrasted-threshold: 180;\n\n// Override fonts\n$font-family-sans-serif:\n 'Fira Sans',\n -apple-system,\n blinkmacsystemfont,\n 'Segoe UI',\n 'Roboto',\n 'Helvetica Neue',\n arial,\n sans-serif; //fira sans then native system ui fallbacks\n$font-family-monospace: 'Fira Mono', menlo, monaco, consolas, 'Liberation Mono',\n 'Courier New', monospace;\n$font-family-base: $font-family-sans-serif;\n\n$headings-font-weight: 400;\n\n//Text overides\n$text-muted: $gray-400;\n\n//Style Selection highlight color\n$text-select-color: var(--dh-color-text-highlight);\n\n//Grid variables, same value as default just making easily accessible\n$grid-gutter-width: 30px;\n\n//Visual Overrides\n$border-radius: 4px;\n$box-shadow: 0 0.1rem 1rem var(--dh-color-dropshadow);\n\n//Override Btn\n$btn-border-radius: 4rem;\n$btn-padding-x: 1.5rem;\n$btn-transition:\n color 0.12s ease-in-out,\n background-color 0.12s ease-in-out,\n border-color 0.12s ease-in-out,\n box-shadow 0.12s ease-in-out; //default 0.15 is too long\n$btn-border-width: 2px;\n$btn-font-weight: var(--spectrum-global-font-weight-bold);\n$btn-line-height: 1.3;\n\n//Override Inputs\n$input-bg: var(--dh-color-input-bg);\n$input-disabled-bg: var(--dh-color-input-disabled-bg);\n$input-color: var(--dh-color-input-fg);\n$input-border-color: var(--dh-color-input-border);\n$input-placeholder-color: var(--dh-color-input-placeholder);\n$input-focus-border-color: var(--dh-color-input-focus-border);\n\n$input-btn-focus-width: 0.2rem;\n$input-btn-focus-color: color-mix(\n in srgb,\n var(--dh-color-accent) 35%,\n transparent\n);\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color;\n$input-btn-line-height: 1.3;\n// Bootstrap uses a calc expression to determine the input height (calc(line-height + 2*padding-y + border)).\n// The padding-y value has to be in rem to match units as it is a SASS calc.\n// Using 0.42145rem with 1.3 line height gets us to spectrum's 32px.\n/* stylelint-disable-next-line number-max-precision */\n$input-btn-padding-y: 0.42145rem;\n\n//checkbox\n$custom-control-indicator-bg: var(--dh-color-input-bg);\n$custom-control-indicator-border-color: var(--dh-color-input-border);\n$custom-checkbox-indicator-border-radius: 2px;\n$custom-control-indicator-border-width: 2px;\n$custom-control-indicator-active-bg: var(--dh-color-input-bg);\n$custom-control-indicator-active-border-color: var(--dh-color-input-fg);\n$custom-control-indicator-checked-bg: var(--dh-color-input-fg);\n$custom-control-indicator-checked-color: black; // used as mask fill color\n$custom-checkbox-indicator-indeterminate-bg: var(--dh-color-input-fg);\n$custom-control-indicator-bg-size: 75% 75%;\n$custom-control-indicator-disabled-bg: var(--dh-color-input-disabled-bg);\n$custom-control-indicator-checked-disabled-bg: var(\n --dh-color-input-disabled-bg\n);\n$custom-control-label-disabled-color: var(--dh-color-input-disabled-fg);\n\n// The $custom-select-indicator variable is used by Bootstrap to provide the\n// icon for the select dropdown. Inline svgs can't use CSS variables, so we hard\n// code the color to #929192 (the default value of --dh-color-gray-600). PR #1651\n// overrides this icon altogether for known dropdowns, so technically we may not\n// need this, but it's here in case there are any remaining instances.\n$custom-select-indicator-color: #929192;\n$custom-select-bg: var(--dh-color-selector-bg);\n$custom-select-bg-size: 16px 16px;\n//dhSort icon encoded\n$custom-select-indicator: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M4 7l-.4-.8 4-3.7h.8l4 3.7-.4.8H4zm0 2l-.4.8 4 3.7h.8l4-3.7L12 9H4z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n);\n$custom-select-focus-box-shadow: $input-btn-focus-box-shadow;\n$custom-select-disabled-color: $gray-500;\n$custom-select-disabled-bg: $gray-800;\n\n//modal\n$modal-content-bg: $content-bg;\n$modal-content-border-width: 0;\n$modal-md: 550px;\n$close-color: var(--dh-color-text);\n$close-text-shadow: none;\n\n// Toast notification\n$toast-bg: var(--dh-color-accent-100);\n$toast-color: var(--dh-color-text);\n$toast-error-bg: var(--dh-color-negative-bg);\n$toast-error-color: var(--dh-color-text);\n\n//tooltips\n$tooltip-bg: var(--dh-color-tooltip-bg);\n$tooltip-color: var(--dh-color-tooltip-fg);\n$tooltip-box-shadow: 0 0.1rem 1.5rem 0.1rem var(--dh-color-tooltip-box-shadow);\n\n//drowdowns\n$dropdown-bg: $gray-600;\n$dropdown-link-color: $foreground;\n$dropdown-link-hover-color: $foreground;\n$dropdown-link-hover-bg: var(--dh-color-item-list-hover-bg);\n$dropdown-divider-bg: $gray-700;\n\n//context menus\n$contextmenu-bg: var(--dh-color-popover-bg);\n$contextmenu-color: var(--dh-color-text);\n$contextmenu-disabled-color: var(--dh-color-input-disabled-fg);\n$contextmenu-keyboard-selected-bg: var(--dh-color-keyboard-selected-bg);\n$contextmenu-selected-bg: var(--dh-color-item-list-hover-bg);\n$contextmenu-selected-color: var(--dh-color-item-list-selected-fg);\n\n//hr\n$hr-border-color: var(--dh-color-hr);\n\n//links\n$link-color: $gray-400;\n$link-hover-color: $foreground;\n\n//progress-bar\n$progress-bg: $gray-600;\n$progress-border-radius: 1rem;\n\n// Set global options\n$enable-shadows: false;\n$enable-gradients: false;\n$enable-print-styles: false; //I don't think anyone should expect to \"print\" this app.\n\n// Transition times\n$transition: 0.15s;\n$transition-mid: 0.2s;\n$transition-long: 0.3s;\n$transition-slow: 0.6s;\n\n//form-validation icon, uses vsWarning icon encoded here as svg\n$form-feedback-icon-invalid-color: $danger;\n$form-feedback-icon-invalid: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cg fill='none'%3E%3Cg fill='#{$form-feedback-icon-invalid-color}'%3E%3Cpath d='M7.56 1h.88l6.54 12.26-.44.74H1.44L1 13.26 7.56 1zM8 2.28 2.28 13H13.7L8 2.28zM8.625 12v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E \"),\n '#',\n '%23'\n);\n\n// This section of variables is not consumed directly by DH, but they need to be\n// defined for sass to compile _variables\n$table-dark-bg: $gray-800;\n$table-dark-accent-bg: var(--dh-color-highlight-hover);\n$table-dark-hover-bg: var(--dh-color-highlight-active);\n$table-dark-border-color: $gray-700;\n$popover-bg: var(--dh-color-tooltip-bg);\n$popover-border-color: var(--dh-color-overlay-modal-bg);\n$popover-header-bg: #000;\n$popover-arrow-outer-color: var(--dh-color-dropshadow);\n$custom-range-thumb-active-bg: var(--dh-color-accent-1100);\n","@use '../common/ConsoleVariables';\n@import '@deephaven/components/scss/custom.scss';\n\n$console-history-gutter-color: $gray-400;\n$console-gutter-width: 30px;\n\n.console-history .console-command-result {\n padding: 0 0 $spacer-1 0;\n}\n\n.console-history,\n.console-history-footer {\n font-family: $font-family-monospace;\n font-size: ConsoleVariables.$font-size;\n line-height: ConsoleVariables.$line-height;\n padding: 0;\n\n .console-history-gutter,\n .error-gutter {\n flex-shrink: 0;\n flex-grow: 0;\n flex-basis: $console-gutter-width;\n text-align: right;\n padding-right: 8px;\n color: $console-history-gutter-color;\n user-select: none;\n }\n\n .console-history-content {\n min-width: 0;\n flex-grow: 1;\n overflow-wrap: break-word;\n }\n\n .console-history-content .error-message.expanded {\n .error-content {\n user-select: text;\n user-select: contain;\n white-space: pre-wrap;\n word-break: break-word;\n overflow: auto;\n text-overflow: clip;\n cursor: default;\n }\n }\n}\n","$font-size: 12px;\n$line-height: 18px;\n$button-height: 26px;\n$button-vert-margin: 4px;\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../../../../node_modules/@deephaven/components/scss/custom.scss","../../../../node_modules/@deephaven/components/scss/bootstrap_overrides.scss","../../src/console-history/ConsoleHistory.scss","../../src/common/_ConsoleVariables.scss"],"names":[],"mappings":"AAAA;AC6LA;ACvLA;EACE;;;AAGF;AAAA;EAEE,aD+HsB;EC9HtB,WCbU;EDcV,aCbY;EDcZ;;AAEA;AAAA;AAAA;AAAA;EAEE;EACA;EACA,YAjBmB;EAkBnB;EACA;EACA,ODNO;ECOP;;AAGF;AAAA;EACE;EACA;EACA;;AAIA;AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA","file":"ConsoleHistory.css","sourcesContent":["/* stylelint-disable scss/at-import-no-partial-leading-underscore */\n// Consumers should be able to resolve bootstrap/ to node_modules/bootstrap\n\n//Make bootstrap functions available for use in overrides\n@import 'bootstrap/scss/_functions.scss';\n@import './bootstrap_overrides.scss';\n\n//_variable imports come after bootstrap default overrides,\n// makes all other variables and mixins from bootstrap available\n/// with just importing customer.scss\n@import 'bootstrap/scss/_variables.scss';\n@import 'bootstrap/scss/_mixins.scss';\n\n//New variables come after imports\n@import './new_variables.scss';\n@import './util.scss';\n","// Styling overrides for bootstrap\n@use 'sass:map';\n\n// Override / set color variables\n$red: var(--dh-color-visual-red);\n$orange: var(--dh-color-visual-orange);\n$yellow: var(--dh-color-visual-yellow);\n$green: var(--dh-color-visual-green);\n$blue: var(--dh-color-visual-blue);\n$purple: var(--dh-color-visual-purple);\n\n// Fallback colors are used if theme isn't loaded\n// this is required for error messages if the API doesn't load\n\n//Define our Gray scale\n$gray-100: var(--dh-color-gray-900, #fcfcfa);\n$gray-200: var(--dh-color-gray-800);\n$gray-300: var(--dh-color-gray-700);\n$gray-400: var(--dh-color-gray-600);\n$gray-500: var(--dh-color-gray-500);\n// intentional duplicate, scale doesn't line up otherwise\n// as we have gray-850 and spectrum doesn't and it is needed\n$gray-600: var(--dh-color-gray-500);\n$gray-700: var(--dh-color-gray-400);\n$gray-800: var(--dh-color-gray-300);\n$gray-850: var(--dh-color-gray-200);\n$gray-900: var(--dh-color-gray-75);\n$black: var(--dh-color-black, #1a171a);\n$white: var(--dh-color-white, #f0f0ee);\n\n//Define some UI colors\n$interfacegray: var(--dh-color-content-bg, #2d2a2e);\n$interfaceblue: var(--dh-color-accent-bg);\n$interfacewhite: $white;\n$interfaceblack: $black;\n$content-bg: var(--dh-color-content-bg, #2d2a2e);\n$background: var(--dh-color-bg, #1a171a);\n$foreground: var(--dh-color-fg, #f0f0ee);\n\n// Extend default Bootstrap $grays map\n$grays-custom: (\n '850': $gray-850,\n);\n$grays: () !default;\n$grays: map-merge($grays, $grays-custom);\n\n// Extend default Bootstrap $colors map\n$colors-custom: (\n 'black': $black,\n);\n$colors: () !default;\n$colors: map-merge($colors, $colors-custom);\n\n// Override default Bootstrap $theme-colors map by mapping each key to itself.\n// These will then be re-mapped inside of `button-outline-variant` and\n// `button-outline-variant` mixins in `bootstrap_override_mixins_buttons.scss`\n$theme-colors-self-map: ();\n@each $key\n in (\n 'primary',\n 'secondary',\n 'success',\n 'info',\n 'warning',\n 'danger',\n 'light',\n 'dark'\n )\n{\n $theme-colors-self-map: map.set($theme-colors-self-map, $key, $key);\n}\n$theme-colors: () !default;\n$theme-colors: map-merge($theme-colors, $theme-colors-self-map);\n\n// Used by bootstrap_override_mixins_buttons.scss to map Bootstrap colors to\n// DH semantic colors\n$bootstrap-dh-semantic-map: (\n 'primary': 'accent',\n 'secondary': 'neutral',\n 'success': 'positive',\n 'info': 'info',\n 'warning': 'notice',\n 'danger': 'negative',\n // We shouldn't be using these, but mapping so they work with our custom\n // `color-yiq` mixin. If we find a way to remove $light + $dark that are\n // defined in Bootstrap _variables.scss, we should remove these\n 'light': 'neutral',\n 'dark': 'neutral',\n);\n\n//Set default colors\n$body-bg: $black;\n$body-color: $interfacewhite;\n\n// Set brand colors\n$primary: var(--dh-color-accent-bg);\n$primary-hover: var(--dh-color-accent-hover-bg);\n$primary-dark: var(--dh-color-accent-down-bg);\n$secondary: var(--dh-color-neutral-bg);\n$secondary-hover: var(--dh-color-neutral-hover-bg);\n$success: $green;\n$info: $yellow;\n$warning: $orange;\n$danger: var(--dh-color-negative-bg);\n$danger-hover: var(--dh-color-negative-hover-bg);\n// We really don't want to use $light or $dark variables, but Bootstrap defines\n// them in _variables.scss. Explicitly setting them to ensure we are in control\n// of their values. If we can find a way to remove them, we should\n$light: var(--dh-color-gray-light);\n$dark: var(--dh-color-gray-dark);\n// Bootstrap doesn't define $mid, and we want to move away from this particular\n// semantic. Should be deleted by #1635\n$mid: var(--dh-color-gray-mid);\n\n$semantic-colors: (\n 'primary-hover': $primary-hover,\n 'primary-dark': $primary-dark,\n 'mid': $mid,\n 'content-bg': $interfacegray,\n 'background': $interfaceblack,\n 'foreground': $interfacewhite,\n 'secondary-hover': $secondary-hover,\n 'danger-hover': $danger-hover,\n);\n\n$component-active-bg: $primary;\n$theme-color-interval: 9%;\n$yiq-contrasted-threshold: 180;\n\n// Override fonts\n$font-family-sans-serif:\n 'Fira Sans',\n -apple-system,\n blinkmacsystemfont,\n 'Segoe UI',\n 'Roboto',\n 'Helvetica Neue',\n arial,\n sans-serif; //fira sans then native system ui fallbacks\n$font-family-monospace: 'Fira Mono', menlo, monaco, consolas, 'Liberation Mono',\n 'Courier New', monospace;\n$font-family-base: $font-family-sans-serif;\n\n$headings-font-weight: 400;\n\n//Text overides\n$text-muted: $gray-400;\n\n//Style Selection highlight color\n$text-select-color: var(--dh-color-text-highlight);\n\n//Grid variables, same value as default just making easily accessible\n$grid-gutter-width: 30px;\n\n//Visual Overrides\n$border-radius: 4px;\n$box-shadow: 0 0.1rem 1rem var(--dh-color-dropshadow);\n\n//Override Btn\n$btn-border-radius: 4rem;\n$btn-padding-x: 1.5rem;\n$btn-transition:\n color 0.12s ease-in-out,\n background-color 0.12s ease-in-out,\n border-color 0.12s ease-in-out,\n box-shadow 0.12s ease-in-out; //default 0.15 is too long\n$btn-border-width: 2px;\n$btn-font-weight: var(--spectrum-global-font-weight-bold);\n$btn-line-height: 1.3;\n\n//Override Inputs\n$input-bg: var(--dh-color-input-bg);\n$input-disabled-bg: var(--dh-color-input-disabled-bg);\n$input-color: var(--dh-color-input-fg);\n$input-border-color: var(--dh-color-input-border);\n$input-placeholder-color: var(--dh-color-input-placeholder);\n$input-focus-border-color: var(--dh-color-input-focus-border);\n\n$input-btn-focus-width: 0.2rem;\n$input-btn-focus-color: color-mix(\n in srgb,\n var(--dh-color-accent) 35%,\n transparent\n);\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color;\n$input-btn-line-height: 1.3;\n// Bootstrap uses a calc expression to determine the input height (calc(line-height + 2*padding-y + border)).\n// The padding-y value has to be in rem to match units as it is a SASS calc.\n// Using 0.42145rem with 1.3 line height gets us to spectrum's 32px.\n/* stylelint-disable-next-line number-max-precision */\n$input-btn-padding-y: 0.42145rem;\n\n//checkbox\n$custom-control-indicator-bg: var(--dh-color-input-bg);\n$custom-control-indicator-border-color: var(--dh-color-input-border);\n$custom-checkbox-indicator-border-radius: 2px;\n$custom-control-indicator-border-width: 2px;\n$custom-control-indicator-active-bg: var(--dh-color-input-bg);\n$custom-control-indicator-active-border-color: var(--dh-color-input-fg);\n$custom-control-indicator-checked-bg: var(--dh-color-input-fg);\n$custom-control-indicator-checked-color: black; // used as mask fill color\n$custom-checkbox-indicator-indeterminate-bg: var(--dh-color-input-fg);\n$custom-control-indicator-bg-size: 75% 75%;\n$custom-control-indicator-disabled-bg: var(--dh-color-input-disabled-bg);\n$custom-control-indicator-checked-disabled-bg: var(\n --dh-color-input-disabled-bg\n);\n$custom-control-label-disabled-color: var(--dh-color-input-disabled-fg);\n\n// The $custom-select-indicator variable is used by Bootstrap to provide the\n// icon for the select dropdown. Inline svgs can't use CSS variables, so we hard\n// code the color to #929192 (the default value of --dh-color-gray-600). PR #1651\n// overrides this icon altogether for known dropdowns, so technically we may not\n// need this, but it's here in case there are any remaining instances.\n$custom-select-indicator-color: #929192;\n$custom-select-bg: var(--dh-color-selector-bg);\n$custom-select-bg-size: 16px 16px;\n//dhSort icon encoded\n$custom-select-indicator: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M4 7l-.4-.8 4-3.7h.8l4 3.7-.4.8H4zm0 2l-.4.8 4 3.7h.8l4-3.7L12 9H4z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n);\n$custom-select-focus-box-shadow: $input-btn-focus-box-shadow;\n$custom-select-disabled-color: $gray-500;\n$custom-select-disabled-bg: $gray-800;\n\n//modal\n$modal-content-bg: $content-bg;\n$modal-content-border-width: 0;\n$modal-md: 550px;\n$close-color: var(--dh-color-text);\n$close-text-shadow: none;\n\n// Toast notification\n$toast-bg: var(--dh-color-accent-100);\n$toast-color: var(--dh-color-text);\n$toast-error-bg: var(--dh-color-negative-bg);\n$toast-error-color: var(--dh-color-text);\n\n//tooltips\n$tooltip-bg: var(--dh-color-tooltip-bg);\n$tooltip-color: var(--dh-color-tooltip-fg);\n$tooltip-box-shadow: 0 0.1rem 1.5rem 0.1rem var(--dh-color-tooltip-box-shadow);\n\n//drowdowns\n$dropdown-bg: $gray-600;\n$dropdown-link-color: $foreground;\n$dropdown-link-hover-color: $foreground;\n$dropdown-link-hover-bg: var(--dh-color-item-list-hover-bg);\n$dropdown-divider-bg: $gray-700;\n\n//context menus\n$contextmenu-bg: var(--dh-color-popover-bg);\n$contextmenu-color: var(--dh-color-text);\n$contextmenu-disabled-color: var(--dh-color-text-disabled);\n$contextmenu-keyboard-selected-bg: var(--dh-color-keyboard-selected-bg);\n$contextmenu-selected-bg: var(--dh-color-item-list-hover-bg);\n$contextmenu-selected-color: var(--dh-color-item-list-selected-fg);\n\n//hr\n$hr-border-color: var(--dh-color-hr);\n\n//links\n$link-color: $gray-400;\n$link-hover-color: $foreground;\n\n//progress-bar\n$progress-bg: $gray-600;\n$progress-border-radius: 1rem;\n\n// Set global options\n$enable-shadows: false;\n$enable-gradients: false;\n$enable-print-styles: false; //I don't think anyone should expect to \"print\" this app.\n\n// Transition times\n$transition: 0.15s;\n$transition-mid: 0.2s;\n$transition-long: 0.3s;\n$transition-slow: 0.6s;\n\n//form-validation icon, uses vsWarning icon encoded here as svg\n$form-feedback-icon-invalid-color: $danger;\n$form-feedback-icon-invalid: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cg fill='none'%3E%3Cg fill='#{$form-feedback-icon-invalid-color}'%3E%3Cpath d='M7.56 1h.88l6.54 12.26-.44.74H1.44L1 13.26 7.56 1zM8 2.28 2.28 13H13.7L8 2.28zM8.625 12v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E \"),\n '#',\n '%23'\n);\n\n// This section of variables is not consumed directly by DH, but they need to be\n// defined for sass to compile _variables\n$table-dark-bg: $gray-800;\n$table-dark-accent-bg: var(--dh-color-highlight-hover);\n$table-dark-hover-bg: var(--dh-color-highlight-active);\n$table-dark-border-color: $gray-700;\n$popover-bg: var(--dh-color-tooltip-bg);\n$popover-border-color: var(--dh-color-overlay-modal-bg);\n$popover-header-bg: #000;\n$popover-arrow-outer-color: var(--dh-color-dropshadow);\n$custom-range-thumb-active-bg: var(--dh-color-accent-1100);\n","@use '../common/ConsoleVariables';\n@import '@deephaven/components/scss/custom.scss';\n\n$console-history-gutter-color: $gray-400;\n$console-gutter-width: 30px;\n\n.console-history .console-command-result {\n padding: 0 0 $spacer-1 0;\n}\n\n.console-history,\n.console-history-footer {\n font-family: $font-family-monospace;\n font-size: ConsoleVariables.$font-size;\n line-height: ConsoleVariables.$line-height;\n padding: 0;\n\n .console-history-gutter,\n .error-gutter {\n flex-shrink: 0;\n flex-grow: 0;\n flex-basis: $console-gutter-width;\n text-align: right;\n padding-right: 8px;\n color: $console-history-gutter-color;\n user-select: none;\n }\n\n .console-history-content {\n min-width: 0;\n flex-grow: 1;\n overflow-wrap: break-word;\n }\n\n .console-history-content .error-message.expanded {\n .error-content {\n user-select: text;\n user-select: contain;\n white-space: pre-wrap;\n word-break: break-word;\n overflow: auto;\n text-overflow: clip;\n cursor: default;\n }\n }\n}\n","$font-size: 12px;\n$line-height: 18px;\n$button-height: 26px;\n$button-vert-margin: 4px;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistory.js","names":["React","ConsoleHistoryItem","jsx","_jsx","itemKey","i","item","concat","command","result","message","error","ConsoleHistory","forwardRef","props","ref","disabled","items","language","openObject","supportsType","iconForType","historyElements","length","historyElement","push","className","children"],"sources":["../../src/console-history/ConsoleHistory.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { type ReactElement } from 'react';\nimport type { dh } from '@deephaven/jsapi-types';\nimport ConsoleHistoryItem from './ConsoleHistoryItem';\n\nimport './ConsoleHistory.scss';\nimport { type ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\ninterface ConsoleHistoryProps {\n items: ConsoleHistoryActionItem[];\n language: string;\n openObject: (object: dh.ide.VariableDefinition) => void;\n disabled?: boolean;\n supportsType: (type: string) => boolean;\n iconForType: (type: string) => ReactElement;\n}\n\nfunction itemKey(i: number, item: ConsoleHistoryActionItem): string {\n return `${i}.${item.command}.${item.result && item.result.message}.${\n item.result && item.result.error\n }`;\n}\n\n/**\n * Display the console history.\n */\nconst ConsoleHistory = React.forwardRef(function ConsoleHistory(\n props: ConsoleHistoryProps,\n ref: React.Ref<HTMLDivElement>\n): ReactElement {\n const {\n disabled = false,\n items,\n language,\n openObject,\n supportsType,\n iconForType,\n } = props;\n const historyElements = [];\n for (let i = 0; i < items.length; i += 1) {\n const item = items[i];\n const historyElement = (\n <ConsoleHistoryItem\n key={itemKey(i, item)}\n disabled={disabled}\n item={item}\n openObject={openObject}\n language={language}\n supportsType={supportsType}\n iconForType={iconForType}\n />\n );\n historyElements.push(historyElement);\n }\n\n return (\n <div ref={ref} className=\"container-fluid console-history\">\n {historyElements}\n </div>\n );\n});\n\nexport default ConsoleHistory;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAA6B,OAAO;AAAC,OAE1CC,kBAAkB;AAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAczB,SAASC,OAAOA,CAACC,CAAS,EAAEC,IAA8B,EAAU;EAClE,UAAAC,MAAA,CAAUF,CAAC,OAAAE,MAAA,CAAID,IAAI,CAACE,OAAO,OAAAD,MAAA,CAAID,IAAI,CAACG,MAAM,IAAIH,IAAI,CAACG,MAAM,CAACC,OAAO,OAAAH,MAAA,CAC/DD,IAAI,CAACG,MAAM,IAAIH,IAAI,CAACG,MAAM,CAACE,KAAK;AAEpC;;AAEA;AACA;AACA;AACA,IAAMC,cAAc,gBAAGZ,KAAK,CAACa,UAAU,CAAC,SAASD,cAAcA,CAC7DE,KAA0B,EAC1BC,GAA8B,EAChB;EACd,IAAM;IACJC,QAAQ,GAAG,KAAK;IAChBC,KAAK;IACLC,QAAQ;IACRC,UAAU;IACVC,YAAY;IACZC;EACF,CAAC,GAAGP,KAAK;EACT,IAAMQ,eAAe,GAAG,EAAE;EAC1B,KAAK,IAAIjB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGY,KAAK,CAACM,MAAM,EAAElB,CAAC,IAAI,CAAC,EAAE;IACxC,IAAMC,IAAI,GAAGW,KAAK,CAACZ,CAAC,CAAC;IACrB,IAAMmB,cAAc,gBAClBrB,IAAA,CAACF,kBAAkB;MAEjBe,QAAQ,EAAEA,QAAS;MACnBV,IAAI,EAAEA,IAAK;MACXa,UAAU,EAAEA,UAAW;MACvBD,QAAQ,EAAEA,QAAS;MACnBE,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA;IAAY,GANpBjB,OAAO,CAACC,CAAC,EAAEC,IAAI,CAOrB,CACF;IACDgB,eAAe,CAACG,IAAI,CAACD,cAAc,CAAC;EACtC;EAEA,oBACErB,IAAA;IAAKY,GAAG,EAAEA,GAAI;IAACW,SAAS,EAAC,iCAAiC;IAAAC,QAAA,EACvDL;EAAe,CACb,CAAC;AAEV,CAAC,CAAC;AAEF,eAAeV,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"ConsoleHistory.js","names":["React","ConsoleHistoryItem","jsx","_jsx","itemKey","i","item","concat","command","result","message","error","ConsoleHistory","forwardRef","props","ref","disabled","items","language","openObject","supportsType","iconForType","historyElements","length","historyElement","push","className","children"],"sources":["../../src/console-history/ConsoleHistory.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { type ReactElement } from 'react';\nimport type { dh } from '@deephaven/jsapi-types';\nimport ConsoleHistoryItem from './ConsoleHistoryItem';\n\nimport './ConsoleHistory.scss';\nimport { type ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\ninterface ConsoleHistoryProps {\n items: ConsoleHistoryActionItem[];\n language: string;\n openObject: (object: dh.ide.VariableDefinition) => void;\n disabled?: boolean;\n supportsType: (type: string) => boolean;\n iconForType: (type: string) => ReactElement;\n}\n\nfunction itemKey(i: number, item: ConsoleHistoryActionItem): string {\n return `${i}.${item.command}.${item.result && item.result.message}.${\n item.result && item.result.error\n }`;\n}\n\n/**\n * Display the console history.\n */\nconst ConsoleHistory = React.forwardRef(function ConsoleHistory(\n props: ConsoleHistoryProps,\n ref: React.Ref<HTMLDivElement>\n): ReactElement {\n const {\n disabled = false,\n items,\n language,\n openObject,\n supportsType,\n iconForType,\n } = props;\n const historyElements = [];\n for (let i = 0; i < items.length; i += 1) {\n const item = items[i];\n const historyElement = (\n <ConsoleHistoryItem\n key={itemKey(i, item)}\n disabled={disabled}\n item={item}\n openObject={openObject}\n language={language}\n supportsType={supportsType}\n iconForType={iconForType}\n />\n );\n historyElements.push(historyElement);\n }\n\n return (\n <div ref={ref} className=\"container-fluid console-history\">\n {historyElements}\n </div>\n );\n});\n\nexport default ConsoleHistory;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAA6B,OAAO;AAAC,OAE1CC,kBAAkB;AAAA;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAczB,SAASC,OAAOA,CAACC,CAAS,EAAEC,IAA8B,EAAU;EAClE,UAAAC,MAAA,CAAUF,CAAC,OAAAE,MAAA,CAAID,IAAI,CAACE,OAAO,OAAAD,MAAA,CAAID,IAAI,CAACG,MAAM,IAAIH,IAAI,CAACG,MAAM,CAACC,OAAO,OAAAH,MAAA,CAC/DD,IAAI,CAACG,MAAM,IAAIH,IAAI,CAACG,MAAM,CAACE,KAAK;AAEpC;;AAEA;AACA;AACA;AACA,IAAMC,cAAc,gBAAGZ,KAAK,CAACa,UAAU,CAAC,SAASD,cAAcA,CAC7DE,KAA0B,EAC1BC,GAA8B,EAChB;EACd,IAAM;IACJC,QAAQ,GAAG,KAAK;IAChBC,KAAK;IACLC,QAAQ;IACRC,UAAU;IACVC,YAAY;IACZC;EACF,CAAC,GAAGP,KAAK;EACT,IAAMQ,eAAe,GAAG,EAAE;EAC1B,KAAK,IAAIjB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGY,KAAK,CAACM,MAAM,EAAElB,CAAC,IAAI,CAAC,EAAE;IACxC,IAAMC,IAAI,GAAGW,KAAK,CAACZ,CAAC,CAAC;IACrB,IAAMmB,cAAc,gBAClBrB,IAAA,CAACF,kBAAkB;MAEjBe,QAAQ,EAAEA,QAAS;MACnBV,IAAI,EAAEA,IAAK;MACXa,UAAU,EAAEA,UAAW;MACvBD,QAAQ,EAAEA,QAAS;MACnBE,YAAY,EAAEA,YAAa;MAC3BC,WAAW,EAAEA;IAAY,GANpBjB,OAAO,CAACC,CAAC,EAAEC,IAAI,CAOrB,CACF;IACDgB,eAAe,CAACG,IAAI,CAACD,cAAc,CAAC;EACtC;EAEA,oBACErB,IAAA;IAAKY,GAAG,EAAEA,GAAI;IAACW,SAAS,EAAC,iCAAiC;IAAAC,QAAA,EACvDL;EAAe,CACb,CAAC;AAEV,CAAC,CAAC;AAEF,eAAeV,cAAc"}
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../../../node_modules/@deephaven/components/scss/custom.scss","../../../../node_modules/@deephaven/components/scss/bootstrap_overrides.scss","../../src/console-history/ConsoleHistoryItem.scss","../../../../node_modules/@deephaven/components/scss/new_variables.scss","../../src/common/_ConsoleVariables.scss"],"names":[],"mappings":"AAAA;AC6LA;ACrLA;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAIA;EACE;EACA;EACA,KC9BO;ED+BP;EACA,WEpCQ;EFqCR,cC/BO;EDgCP;EACA,QErCY;EFsCZ,eEtCY;;AFyCd;EACE,OD2DK;EC1DL;EACA;EACA;;AAEA;EACE;EACA,YAhDe;;AAkDf;EACE,WAnDa;EAoDb;EACA;EACA;EACA;EACA;EACA;EACA,YDqGN;;AClGI;AAAA;EAEE,ODqCC;;ACjCL;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA,ODuBG;ECtBH;EACA,cC9EK;ED+EL;EACA,eDuEU;ECtEV;EACA;;AAEA;EACE;;AAEF;EACE","file":"ConsoleHistoryItem.css","sourcesContent":["/* stylelint-disable scss/at-import-no-partial-leading-underscore */\n// Consumers should be able to resolve bootstrap/ to node_modules/bootstrap\n\n//Make bootstrap functions available for use in overrides\n@import 'bootstrap/scss/_functions.scss';\n@import './bootstrap_overrides.scss';\n\n//_variable imports come after bootstrap default overrides,\n// makes all other variables and mixins from bootstrap available\n/// with just importing customer.scss\n@import 'bootstrap/scss/_variables.scss';\n@import 'bootstrap/scss/_mixins.scss';\n\n//New variables come after imports\n@import './new_variables.scss';\n@import './util.scss';\n","// Styling overrides for bootstrap\n@use 'sass:map';\n\n// Override / set color variables\n$red: var(--dh-color-visual-red);\n$orange: var(--dh-color-visual-orange);\n$yellow: var(--dh-color-visual-yellow);\n$green: var(--dh-color-visual-green);\n$blue: var(--dh-color-visual-blue);\n$purple: var(--dh-color-visual-purple);\n\n// Fallback colors are used if theme isn't loaded\n// this is required for error messages if the API doesn't load\n\n//Define our Gray scale\n$gray-100: var(--dh-color-gray-900, #fcfcfa);\n$gray-200: var(--dh-color-gray-800);\n$gray-300: var(--dh-color-gray-700);\n$gray-400: var(--dh-color-gray-600);\n$gray-500: var(--dh-color-gray-500);\n// intentional duplicate, scale doesn't line up otherwise\n// as we have gray-850 and spectrum doesn't and it is needed\n$gray-600: var(--dh-color-gray-500);\n$gray-700: var(--dh-color-gray-400);\n$gray-800: var(--dh-color-gray-300);\n$gray-850: var(--dh-color-gray-200);\n$gray-900: var(--dh-color-gray-75);\n$black: var(--dh-color-black, #1a171a);\n$white: var(--dh-color-white, #f0f0ee);\n\n//Define some UI colors\n$interfacegray: var(--dh-color-content-bg, #2d2a2e);\n$interfaceblue: var(--dh-color-accent-bg);\n$interfacewhite: $white;\n$interfaceblack: $black;\n$content-bg: var(--dh-color-content-bg, #2d2a2e);\n$background: var(--dh-color-bg, #1a171a);\n$foreground: var(--dh-color-fg, #f0f0ee);\n\n// Extend default Bootstrap $grays map\n$grays-custom: (\n '850': $gray-850,\n);\n$grays: () !default;\n$grays: map-merge($grays, $grays-custom);\n\n// Extend default Bootstrap $colors map\n$colors-custom: (\n 'black': $black,\n);\n$colors: () !default;\n$colors: map-merge($colors, $colors-custom);\n\n// Override default Bootstrap $theme-colors map by mapping each key to itself.\n// These will then be re-mapped inside of `button-outline-variant` and\n// `button-outline-variant` mixins in `bootstrap_override_mixins_buttons.scss`\n$theme-colors-self-map: ();\n@each $key\n in (\n 'primary',\n 'secondary',\n 'success',\n 'info',\n 'warning',\n 'danger',\n 'light',\n 'dark'\n )\n{\n $theme-colors-self-map: map.set($theme-colors-self-map, $key, $key);\n}\n$theme-colors: () !default;\n$theme-colors: map-merge($theme-colors, $theme-colors-self-map);\n\n// Used by bootstrap_override_mixins_buttons.scss to map Bootstrap colors to\n// DH semantic colors\n$bootstrap-dh-semantic-map: (\n 'primary': 'accent',\n 'secondary': 'neutral',\n 'success': 'positive',\n 'info': 'info',\n 'warning': 'notice',\n 'danger': 'negative',\n // We shouldn't be using these, but mapping so they work with our custom\n // `color-yiq` mixin. If we find a way to remove $light + $dark that are\n // defined in Bootstrap _variables.scss, we should remove these\n 'light': 'neutral',\n 'dark': 'neutral',\n);\n\n//Set default colors\n$body-bg: $black;\n$body-color: $interfacewhite;\n\n// Set brand colors\n$primary: var(--dh-color-accent-bg);\n$primary-hover: var(--dh-color-accent-hover-bg);\n$primary-dark: var(--dh-color-accent-down-bg);\n$secondary: var(--dh-color-neutral-bg);\n$secondary-hover: var(--dh-color-neutral-hover-bg);\n$success: $green;\n$info: $yellow;\n$warning: $orange;\n$danger: var(--dh-color-negative-bg);\n$danger-hover: var(--dh-color-negative-hover-bg);\n// We really don't want to use $light or $dark variables, but Bootstrap defines\n// them in _variables.scss. Explicitly setting them to ensure we are in control\n// of their values. If we can find a way to remove them, we should\n$light: var(--dh-color-gray-light);\n$dark: var(--dh-color-gray-dark);\n// Bootstrap doesn't define $mid, and we want to move away from this particular\n// semantic. Should be deleted by #1635\n$mid: var(--dh-color-gray-mid);\n\n$semantic-colors: (\n 'primary-hover': $primary-hover,\n 'primary-dark': $primary-dark,\n 'mid': $mid,\n 'content-bg': $interfacegray,\n 'background': $interfaceblack,\n 'foreground': $interfacewhite,\n 'secondary-hover': $secondary-hover,\n 'danger-hover': $danger-hover,\n);\n\n$component-active-bg: $primary;\n$theme-color-interval: 9%;\n$yiq-contrasted-threshold: 180;\n\n// Override fonts\n$font-family-sans-serif:\n 'Fira Sans',\n -apple-system,\n blinkmacsystemfont,\n 'Segoe UI',\n 'Roboto',\n 'Helvetica Neue',\n arial,\n sans-serif; //fira sans then native system ui fallbacks\n$font-family-monospace: 'Fira Mono', menlo, monaco, consolas, 'Liberation Mono',\n 'Courier New', monospace;\n$font-family-base: $font-family-sans-serif;\n\n$headings-font-weight: 400;\n\n//Text overides\n$text-muted: $gray-400;\n\n//Style Selection highlight color\n$text-select-color: var(--dh-color-text-highlight);\n\n//Grid variables, same value as default just making easily accessible\n$grid-gutter-width: 30px;\n\n//Visual Overrides\n$border-radius: 4px;\n$box-shadow: 0 0.1rem 1rem var(--dh-color-dropshadow);\n\n//Override Btn\n$btn-border-radius: 4rem;\n$btn-padding-x: 1.5rem;\n$btn-transition:\n color 0.12s ease-in-out,\n background-color 0.12s ease-in-out,\n border-color 0.12s ease-in-out,\n box-shadow 0.12s ease-in-out; //default 0.15 is too long\n$btn-border-width: 2px;\n$btn-font-weight: var(--spectrum-global-font-weight-bold);\n$btn-line-height: 1.3;\n\n//Override Inputs\n$input-bg: var(--dh-color-input-bg);\n$input-disabled-bg: var(--dh-color-input-disabled-bg);\n$input-color: var(--dh-color-input-fg);\n$input-border-color: var(--dh-color-input-border);\n$input-placeholder-color: var(--dh-color-input-placeholder);\n$input-focus-border-color: var(--dh-color-input-focus-border);\n\n$input-btn-focus-width: 0.2rem;\n$input-btn-focus-color: color-mix(\n in srgb,\n var(--dh-color-accent) 35%,\n transparent\n);\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color;\n$input-btn-line-height: 1.3;\n// Bootstrap uses a calc expression to determine the input height (calc(line-height + 2*padding-y + border)).\n// The padding-y value has to be in rem to match units as it is a SASS calc.\n// Using 0.42145rem with 1.3 line height gets us to spectrum's 32px.\n/* stylelint-disable-next-line number-max-precision */\n$input-btn-padding-y: 0.42145rem;\n\n//checkbox\n$custom-control-indicator-bg: var(--dh-color-input-bg);\n$custom-control-indicator-border-color: var(--dh-color-input-border);\n$custom-checkbox-indicator-border-radius: 2px;\n$custom-control-indicator-border-width: 2px;\n$custom-control-indicator-active-bg: var(--dh-color-input-bg);\n$custom-control-indicator-active-border-color: var(--dh-color-input-fg);\n$custom-control-indicator-checked-bg: var(--dh-color-input-fg);\n$custom-control-indicator-checked-color: black; // used as mask fill color\n$custom-checkbox-indicator-indeterminate-bg: var(--dh-color-input-fg);\n$custom-control-indicator-bg-size: 75% 75%;\n$custom-control-indicator-disabled-bg: var(--dh-color-input-disabled-bg);\n$custom-control-indicator-checked-disabled-bg: var(\n --dh-color-input-disabled-bg\n);\n$custom-control-label-disabled-color: var(--dh-color-input-disabled-fg);\n\n// The $custom-select-indicator variable is used by Bootstrap to provide the\n// icon for the select dropdown. Inline svgs can't use CSS variables, so we hard\n// code the color to #929192 (the default value of --dh-color-gray-600). PR #1651\n// overrides this icon altogether for known dropdowns, so technically we may not\n// need this, but it's here in case there are any remaining instances.\n$custom-select-indicator-color: #929192;\n$custom-select-bg: var(--dh-color-selector-bg);\n$custom-select-bg-size: 16px 16px;\n//dhSort icon encoded\n$custom-select-indicator: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M4 7l-.4-.8 4-3.7h.8l4 3.7-.4.8H4zm0 2l-.4.8 4 3.7h.8l4-3.7L12 9H4z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n);\n$custom-select-focus-box-shadow: $input-btn-focus-box-shadow;\n$custom-select-disabled-color: $gray-500;\n$custom-select-disabled-bg: $gray-800;\n\n//modal\n$modal-content-bg: $content-bg;\n$modal-content-border-width: 0;\n$modal-md: 550px;\n$close-color: var(--dh-color-text);\n$close-text-shadow: none;\n\n// Toast notification\n$toast-bg: var(--dh-color-accent-100);\n$toast-color: var(--dh-color-text);\n$toast-error-bg: var(--dh-color-negative-bg);\n$toast-error-color: var(--dh-color-text);\n\n//tooltips\n$tooltip-bg: var(--dh-color-tooltip-bg);\n$tooltip-color: var(--dh-color-tooltip-fg);\n$tooltip-box-shadow: 0 0.1rem 1.5rem 0.1rem var(--dh-color-tooltip-box-shadow);\n\n//drowdowns\n$dropdown-bg: $gray-600;\n$dropdown-link-color: $foreground;\n$dropdown-link-hover-color: $foreground;\n$dropdown-link-hover-bg: var(--dh-color-item-list-hover-bg);\n$dropdown-divider-bg: $gray-700;\n\n//context menus\n$contextmenu-bg: var(--dh-color-popover-bg);\n$contextmenu-color: var(--dh-color-text);\n$contextmenu-disabled-color: var(--dh-color-input-disabled-fg);\n$contextmenu-keyboard-selected-bg: var(--dh-color-keyboard-selected-bg);\n$contextmenu-selected-bg: var(--dh-color-item-list-hover-bg);\n$contextmenu-selected-color: var(--dh-color-item-list-selected-fg);\n\n//hr\n$hr-border-color: var(--dh-color-hr);\n\n//links\n$link-color: $gray-400;\n$link-hover-color: $foreground;\n\n//progress-bar\n$progress-bg: $gray-600;\n$progress-border-radius: 1rem;\n\n// Set global options\n$enable-shadows: false;\n$enable-gradients: false;\n$enable-print-styles: false; //I don't think anyone should expect to \"print\" this app.\n\n// Transition times\n$transition: 0.15s;\n$transition-mid: 0.2s;\n$transition-long: 0.3s;\n$transition-slow: 0.6s;\n\n//form-validation icon, uses vsWarning icon encoded here as svg\n$form-feedback-icon-invalid-color: $danger;\n$form-feedback-icon-invalid: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cg fill='none'%3E%3Cg fill='#{$form-feedback-icon-invalid-color}'%3E%3Cpath d='M7.56 1h.88l6.54 12.26-.44.74H1.44L1 13.26 7.56 1zM8 2.28 2.28 13H13.7L8 2.28zM8.625 12v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E \"),\n '#',\n '%23'\n);\n\n// This section of variables is not consumed directly by DH, but they need to be\n// defined for sass to compile _variables\n$table-dark-bg: $gray-800;\n$table-dark-accent-bg: var(--dh-color-highlight-hover);\n$table-dark-hover-bg: var(--dh-color-highlight-active);\n$table-dark-border-color: $gray-700;\n$popover-bg: var(--dh-color-tooltip-bg);\n$popover-border-color: var(--dh-color-overlay-modal-bg);\n$popover-header-bg: #000;\n$popover-arrow-outer-color: var(--dh-color-dropshadow);\n$custom-range-thumb-active-bg: var(--dh-color-accent-1100);\n","@use '../common/ConsoleVariables';\n@import '@deephaven/components/scss/custom.scss';\n\n$error-gutter-width: 15px;\n$font-size: ConsoleVariables.$font-size;\n$button-height: ConsoleVariables.$button-height;\n$button-vert-margin: ConsoleVariables.$button-vert-margin;\n\n.console-history-item-command,\n.console-history-item-result {\n display: flex;\n}\n\n.console-history-item-command {\n white-space: pre-line;\n}\n\n.console-history-item-result .log-message {\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n\n// adjust gutter tick to align in the middle of button results\n.console-result-buttons .console-history-item-result .console-history-gutter {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n max-height: calc($button-height + $button-vert-margin + $button-vert-margin);\n}\n\n.console-history-item-result {\n .btn-console-object {\n display: inline-flex;\n align-items: center;\n gap: $spacer-1;\n text-align: left;\n font-size: $font-size;\n padding-left: $spacer-3;\n margin: $button-vert-margin $button-vert-margin $button-vert-margin 0;\n height: $button-height;\n border-radius: $button-height;\n }\n\n .error-message {\n color: $danger;\n display: flex;\n overflow: hidden;\n user-select: text;\n\n .error-gutter {\n padding: 0;\n flex-basis: $error-gutter-width;\n\n .error-btn-link {\n min-width: $error-gutter-width;\n background-color: transparent;\n border: 0;\n text-align: left;\n padding-left: 0;\n padding-right: 0;\n color: negative-opacity(50);\n transition: $btn-transition;\n }\n\n .error-btn-link:hover,\n .error-btn-link--active {\n color: $danger;\n }\n }\n\n .error-content {\n flex-grow: 1;\n white-space: normal;\n cursor: default;\n overflow: visible;\n text-overflow: ellipsis;\n }\n\n .console-error-text-trigger {\n cursor: pointer;\n color: $danger;\n display: inline-block;\n margin-right: $spacer-1;\n border: 1px solid transparent;\n border-radius: $border-radius;\n overflow: visible;\n white-space: pre-wrap;\n // keyboard navigation only focus state\n &:focus {\n outline: 0;\n }\n &:focus-visible {\n border: 1px solid negative-opacity(50);\n }\n }\n }\n}\n","@use 'sass:math';\n\n//Set of spacer variables from the spacer map\n$spacer-0: map-get($spacers, 0); //0\n$spacer-1: map-get($spacers, 1);\n$spacer-2: map-get($spacers, 2);\n$spacer-3: map-get($spacers, 3);\n$spacer-4: map-get($spacers, 4);\n$spacer-5: map-get($spacers, 5);\n\n//Marching Ants for golden layout dropzone and drag and drop\n//top bottom, left right.\n//create 4 background images that are 50% color 1, 50% color 2 using graidents, two veritical, two horizontal\n//size them to ant-size and thickness\n//position those images along the egdes and make top/bottom repeat-x and left/right repeat-y\n//then offest each of those background positions by ant-size in animation to make them march.\n$ant-size: 8px;\n$ant-thickness: 1px;\n\n@mixin ants-base($color-1: black, $color-2: white) {\n background-image: linear-gradient(to right, $color-2 50%, $color-1 50%),\n linear-gradient(to right, $color-2 50%, $color-1 50%),\n linear-gradient(to bottom, $color-2 50%, $color-1 50%),\n linear-gradient(to bottom, $color-2 50%, $color-1 50%);\n background-size:\n $ant-size $ant-thickness,\n $ant-size $ant-thickness,\n $ant-thickness $ant-size,\n $ant-thickness $ant-size;\n background-position:\n 0 top,\n 0 bottom,\n left 0,\n right 0;\n background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;\n animation: march 0.5s;\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n}\n\n@mixin drag-stack($pseudo-element) {\n &::#{$pseudo-element} {\n content: ' ';\n background: $primary;\n box-shadow: $box-shadow;\n border-radius: $border-radius;\n position: absolute;\n height: 100%;\n width: 100%;\n @content;\n }\n}\n\n$focus-bg-transparency: 12%;\n$hover-bg-transparency: 14%;\n$active-bg-transparency: 28%;\n$exception-transparency: 28%;\n","$font-size: 12px;\n$line-height: 18px;\n$button-height: 26px;\n$button-vert-margin: 4px;\n"]}
1
+ {"version":3,"sourceRoot":"","sources":["../../../../node_modules/@deephaven/components/scss/custom.scss","../../../../node_modules/@deephaven/components/scss/bootstrap_overrides.scss","../../src/console-history/ConsoleHistoryItem.scss","../../../../node_modules/@deephaven/components/scss/new_variables.scss","../../src/common/_ConsoleVariables.scss"],"names":[],"mappings":"AAAA;AC6LA;ACrLA;AAAA;EAEE;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAIF;EACE;EACA;EACA;EACA;;;AAIA;EACE;EACA;EACA,KC9BO;ED+BP;EACA,WEpCQ;EFqCR,cC/BO;EDgCP;EACA,QErCY;EFsCZ,eEtCY;;AFyCd;EACE,OD2DK;EC1DL;EACA;EACA;;AAEA;EACE;EACA,YAhDe;;AAkDf;EACE,WAnDa;EAoDb;EACA;EACA;EACA;EACA;EACA;EACA,YDqGN;;AClGI;AAAA;EAEE,ODqCC;;ACjCL;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA,ODuBG;ECtBH;EACA,cC9EK;ED+EL;EACA,eDuEU;ECtEV;EACA;;AAEA;EACE;;AAEF;EACE","file":"ConsoleHistoryItem.css","sourcesContent":["/* stylelint-disable scss/at-import-no-partial-leading-underscore */\n// Consumers should be able to resolve bootstrap/ to node_modules/bootstrap\n\n//Make bootstrap functions available for use in overrides\n@import 'bootstrap/scss/_functions.scss';\n@import './bootstrap_overrides.scss';\n\n//_variable imports come after bootstrap default overrides,\n// makes all other variables and mixins from bootstrap available\n/// with just importing customer.scss\n@import 'bootstrap/scss/_variables.scss';\n@import 'bootstrap/scss/_mixins.scss';\n\n//New variables come after imports\n@import './new_variables.scss';\n@import './util.scss';\n","// Styling overrides for bootstrap\n@use 'sass:map';\n\n// Override / set color variables\n$red: var(--dh-color-visual-red);\n$orange: var(--dh-color-visual-orange);\n$yellow: var(--dh-color-visual-yellow);\n$green: var(--dh-color-visual-green);\n$blue: var(--dh-color-visual-blue);\n$purple: var(--dh-color-visual-purple);\n\n// Fallback colors are used if theme isn't loaded\n// this is required for error messages if the API doesn't load\n\n//Define our Gray scale\n$gray-100: var(--dh-color-gray-900, #fcfcfa);\n$gray-200: var(--dh-color-gray-800);\n$gray-300: var(--dh-color-gray-700);\n$gray-400: var(--dh-color-gray-600);\n$gray-500: var(--dh-color-gray-500);\n// intentional duplicate, scale doesn't line up otherwise\n// as we have gray-850 and spectrum doesn't and it is needed\n$gray-600: var(--dh-color-gray-500);\n$gray-700: var(--dh-color-gray-400);\n$gray-800: var(--dh-color-gray-300);\n$gray-850: var(--dh-color-gray-200);\n$gray-900: var(--dh-color-gray-75);\n$black: var(--dh-color-black, #1a171a);\n$white: var(--dh-color-white, #f0f0ee);\n\n//Define some UI colors\n$interfacegray: var(--dh-color-content-bg, #2d2a2e);\n$interfaceblue: var(--dh-color-accent-bg);\n$interfacewhite: $white;\n$interfaceblack: $black;\n$content-bg: var(--dh-color-content-bg, #2d2a2e);\n$background: var(--dh-color-bg, #1a171a);\n$foreground: var(--dh-color-fg, #f0f0ee);\n\n// Extend default Bootstrap $grays map\n$grays-custom: (\n '850': $gray-850,\n);\n$grays: () !default;\n$grays: map-merge($grays, $grays-custom);\n\n// Extend default Bootstrap $colors map\n$colors-custom: (\n 'black': $black,\n);\n$colors: () !default;\n$colors: map-merge($colors, $colors-custom);\n\n// Override default Bootstrap $theme-colors map by mapping each key to itself.\n// These will then be re-mapped inside of `button-outline-variant` and\n// `button-outline-variant` mixins in `bootstrap_override_mixins_buttons.scss`\n$theme-colors-self-map: ();\n@each $key\n in (\n 'primary',\n 'secondary',\n 'success',\n 'info',\n 'warning',\n 'danger',\n 'light',\n 'dark'\n )\n{\n $theme-colors-self-map: map.set($theme-colors-self-map, $key, $key);\n}\n$theme-colors: () !default;\n$theme-colors: map-merge($theme-colors, $theme-colors-self-map);\n\n// Used by bootstrap_override_mixins_buttons.scss to map Bootstrap colors to\n// DH semantic colors\n$bootstrap-dh-semantic-map: (\n 'primary': 'accent',\n 'secondary': 'neutral',\n 'success': 'positive',\n 'info': 'info',\n 'warning': 'notice',\n 'danger': 'negative',\n // We shouldn't be using these, but mapping so they work with our custom\n // `color-yiq` mixin. If we find a way to remove $light + $dark that are\n // defined in Bootstrap _variables.scss, we should remove these\n 'light': 'neutral',\n 'dark': 'neutral',\n);\n\n//Set default colors\n$body-bg: $black;\n$body-color: $interfacewhite;\n\n// Set brand colors\n$primary: var(--dh-color-accent-bg);\n$primary-hover: var(--dh-color-accent-hover-bg);\n$primary-dark: var(--dh-color-accent-down-bg);\n$secondary: var(--dh-color-neutral-bg);\n$secondary-hover: var(--dh-color-neutral-hover-bg);\n$success: $green;\n$info: $yellow;\n$warning: $orange;\n$danger: var(--dh-color-negative-bg);\n$danger-hover: var(--dh-color-negative-hover-bg);\n// We really don't want to use $light or $dark variables, but Bootstrap defines\n// them in _variables.scss. Explicitly setting them to ensure we are in control\n// of their values. If we can find a way to remove them, we should\n$light: var(--dh-color-gray-light);\n$dark: var(--dh-color-gray-dark);\n// Bootstrap doesn't define $mid, and we want to move away from this particular\n// semantic. Should be deleted by #1635\n$mid: var(--dh-color-gray-mid);\n\n$semantic-colors: (\n 'primary-hover': $primary-hover,\n 'primary-dark': $primary-dark,\n 'mid': $mid,\n 'content-bg': $interfacegray,\n 'background': $interfaceblack,\n 'foreground': $interfacewhite,\n 'secondary-hover': $secondary-hover,\n 'danger-hover': $danger-hover,\n);\n\n$component-active-bg: $primary;\n$theme-color-interval: 9%;\n$yiq-contrasted-threshold: 180;\n\n// Override fonts\n$font-family-sans-serif:\n 'Fira Sans',\n -apple-system,\n blinkmacsystemfont,\n 'Segoe UI',\n 'Roboto',\n 'Helvetica Neue',\n arial,\n sans-serif; //fira sans then native system ui fallbacks\n$font-family-monospace: 'Fira Mono', menlo, monaco, consolas, 'Liberation Mono',\n 'Courier New', monospace;\n$font-family-base: $font-family-sans-serif;\n\n$headings-font-weight: 400;\n\n//Text overides\n$text-muted: $gray-400;\n\n//Style Selection highlight color\n$text-select-color: var(--dh-color-text-highlight);\n\n//Grid variables, same value as default just making easily accessible\n$grid-gutter-width: 30px;\n\n//Visual Overrides\n$border-radius: 4px;\n$box-shadow: 0 0.1rem 1rem var(--dh-color-dropshadow);\n\n//Override Btn\n$btn-border-radius: 4rem;\n$btn-padding-x: 1.5rem;\n$btn-transition:\n color 0.12s ease-in-out,\n background-color 0.12s ease-in-out,\n border-color 0.12s ease-in-out,\n box-shadow 0.12s ease-in-out; //default 0.15 is too long\n$btn-border-width: 2px;\n$btn-font-weight: var(--spectrum-global-font-weight-bold);\n$btn-line-height: 1.3;\n\n//Override Inputs\n$input-bg: var(--dh-color-input-bg);\n$input-disabled-bg: var(--dh-color-input-disabled-bg);\n$input-color: var(--dh-color-input-fg);\n$input-border-color: var(--dh-color-input-border);\n$input-placeholder-color: var(--dh-color-input-placeholder);\n$input-focus-border-color: var(--dh-color-input-focus-border);\n\n$input-btn-focus-width: 0.2rem;\n$input-btn-focus-color: color-mix(\n in srgb,\n var(--dh-color-accent) 35%,\n transparent\n);\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color;\n$input-btn-line-height: 1.3;\n// Bootstrap uses a calc expression to determine the input height (calc(line-height + 2*padding-y + border)).\n// The padding-y value has to be in rem to match units as it is a SASS calc.\n// Using 0.42145rem with 1.3 line height gets us to spectrum's 32px.\n/* stylelint-disable-next-line number-max-precision */\n$input-btn-padding-y: 0.42145rem;\n\n//checkbox\n$custom-control-indicator-bg: var(--dh-color-input-bg);\n$custom-control-indicator-border-color: var(--dh-color-input-border);\n$custom-checkbox-indicator-border-radius: 2px;\n$custom-control-indicator-border-width: 2px;\n$custom-control-indicator-active-bg: var(--dh-color-input-bg);\n$custom-control-indicator-active-border-color: var(--dh-color-input-fg);\n$custom-control-indicator-checked-bg: var(--dh-color-input-fg);\n$custom-control-indicator-checked-color: black; // used as mask fill color\n$custom-checkbox-indicator-indeterminate-bg: var(--dh-color-input-fg);\n$custom-control-indicator-bg-size: 75% 75%;\n$custom-control-indicator-disabled-bg: var(--dh-color-input-disabled-bg);\n$custom-control-indicator-checked-disabled-bg: var(\n --dh-color-input-disabled-bg\n);\n$custom-control-label-disabled-color: var(--dh-color-input-disabled-fg);\n\n// The $custom-select-indicator variable is used by Bootstrap to provide the\n// icon for the select dropdown. Inline svgs can't use CSS variables, so we hard\n// code the color to #929192 (the default value of --dh-color-gray-600). PR #1651\n// overrides this icon altogether for known dropdowns, so technically we may not\n// need this, but it's here in case there are any remaining instances.\n$custom-select-indicator-color: #929192;\n$custom-select-bg: var(--dh-color-selector-bg);\n$custom-select-bg-size: 16px 16px;\n//dhSort icon encoded\n$custom-select-indicator: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M4 7l-.4-.8 4-3.7h.8l4 3.7-.4.8H4zm0 2l-.4.8 4 3.7h.8l4-3.7L12 9H4z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n);\n$custom-select-focus-box-shadow: $input-btn-focus-box-shadow;\n$custom-select-disabled-color: $gray-500;\n$custom-select-disabled-bg: $gray-800;\n\n//modal\n$modal-content-bg: $content-bg;\n$modal-content-border-width: 0;\n$modal-md: 550px;\n$close-color: var(--dh-color-text);\n$close-text-shadow: none;\n\n// Toast notification\n$toast-bg: var(--dh-color-accent-100);\n$toast-color: var(--dh-color-text);\n$toast-error-bg: var(--dh-color-negative-bg);\n$toast-error-color: var(--dh-color-text);\n\n//tooltips\n$tooltip-bg: var(--dh-color-tooltip-bg);\n$tooltip-color: var(--dh-color-tooltip-fg);\n$tooltip-box-shadow: 0 0.1rem 1.5rem 0.1rem var(--dh-color-tooltip-box-shadow);\n\n//drowdowns\n$dropdown-bg: $gray-600;\n$dropdown-link-color: $foreground;\n$dropdown-link-hover-color: $foreground;\n$dropdown-link-hover-bg: var(--dh-color-item-list-hover-bg);\n$dropdown-divider-bg: $gray-700;\n\n//context menus\n$contextmenu-bg: var(--dh-color-popover-bg);\n$contextmenu-color: var(--dh-color-text);\n$contextmenu-disabled-color: var(--dh-color-text-disabled);\n$contextmenu-keyboard-selected-bg: var(--dh-color-keyboard-selected-bg);\n$contextmenu-selected-bg: var(--dh-color-item-list-hover-bg);\n$contextmenu-selected-color: var(--dh-color-item-list-selected-fg);\n\n//hr\n$hr-border-color: var(--dh-color-hr);\n\n//links\n$link-color: $gray-400;\n$link-hover-color: $foreground;\n\n//progress-bar\n$progress-bg: $gray-600;\n$progress-border-radius: 1rem;\n\n// Set global options\n$enable-shadows: false;\n$enable-gradients: false;\n$enable-print-styles: false; //I don't think anyone should expect to \"print\" this app.\n\n// Transition times\n$transition: 0.15s;\n$transition-mid: 0.2s;\n$transition-long: 0.3s;\n$transition-slow: 0.6s;\n\n//form-validation icon, uses vsWarning icon encoded here as svg\n$form-feedback-icon-invalid-color: $danger;\n$form-feedback-icon-invalid: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cg fill='none'%3E%3Cg fill='#{$form-feedback-icon-invalid-color}'%3E%3Cpath d='M7.56 1h.88l6.54 12.26-.44.74H1.44L1 13.26 7.56 1zM8 2.28 2.28 13H13.7L8 2.28zM8.625 12v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E \"),\n '#',\n '%23'\n);\n\n// This section of variables is not consumed directly by DH, but they need to be\n// defined for sass to compile _variables\n$table-dark-bg: $gray-800;\n$table-dark-accent-bg: var(--dh-color-highlight-hover);\n$table-dark-hover-bg: var(--dh-color-highlight-active);\n$table-dark-border-color: $gray-700;\n$popover-bg: var(--dh-color-tooltip-bg);\n$popover-border-color: var(--dh-color-overlay-modal-bg);\n$popover-header-bg: #000;\n$popover-arrow-outer-color: var(--dh-color-dropshadow);\n$custom-range-thumb-active-bg: var(--dh-color-accent-1100);\n","@use '../common/ConsoleVariables';\n@import '@deephaven/components/scss/custom.scss';\n\n$error-gutter-width: 15px;\n$font-size: ConsoleVariables.$font-size;\n$button-height: ConsoleVariables.$button-height;\n$button-vert-margin: ConsoleVariables.$button-vert-margin;\n\n.console-history-item-command,\n.console-history-item-result {\n display: flex;\n}\n\n.console-history-item-command {\n white-space: pre-line;\n}\n\n.console-history-item-result .log-message {\n white-space: pre-wrap;\n word-wrap: break-word;\n}\n\n// adjust gutter tick to align in the middle of button results\n.console-result-buttons .console-history-item-result .console-history-gutter {\n display: flex;\n align-items: center;\n justify-content: flex-end;\n max-height: calc($button-height + $button-vert-margin + $button-vert-margin);\n}\n\n.console-history-item-result {\n .btn-console-object {\n display: inline-flex;\n align-items: center;\n gap: $spacer-1;\n text-align: left;\n font-size: $font-size;\n padding-left: $spacer-3;\n margin: $button-vert-margin $button-vert-margin $button-vert-margin 0;\n height: $button-height;\n border-radius: $button-height;\n }\n\n .error-message {\n color: $danger;\n display: flex;\n overflow: hidden;\n user-select: text;\n\n .error-gutter {\n padding: 0;\n flex-basis: $error-gutter-width;\n\n .error-btn-link {\n min-width: $error-gutter-width;\n background-color: transparent;\n border: 0;\n text-align: left;\n padding-left: 0;\n padding-right: 0;\n color: negative-opacity(50);\n transition: $btn-transition;\n }\n\n .error-btn-link:hover,\n .error-btn-link--active {\n color: $danger;\n }\n }\n\n .error-content {\n flex-grow: 1;\n white-space: normal;\n cursor: default;\n overflow: visible;\n text-overflow: ellipsis;\n }\n\n .console-error-text-trigger {\n cursor: pointer;\n color: $danger;\n display: inline-block;\n margin-right: $spacer-1;\n border: 1px solid transparent;\n border-radius: $border-radius;\n overflow: visible;\n white-space: pre-wrap;\n // keyboard navigation only focus state\n &:focus {\n outline: 0;\n }\n &:focus-visible {\n border: 1px solid negative-opacity(50);\n }\n }\n }\n}\n","@use 'sass:math';\n\n//Set of spacer variables from the spacer map\n$spacer-0: map-get($spacers, 0); //0\n$spacer-1: map-get($spacers, 1);\n$spacer-2: map-get($spacers, 2);\n$spacer-3: map-get($spacers, 3);\n$spacer-4: map-get($spacers, 4);\n$spacer-5: map-get($spacers, 5);\n\n//Marching Ants for golden layout dropzone and drag and drop\n//top bottom, left right.\n//create 4 background images that are 50% color 1, 50% color 2 using graidents, two veritical, two horizontal\n//size them to ant-size and thickness\n//position those images along the egdes and make top/bottom repeat-x and left/right repeat-y\n//then offest each of those background positions by ant-size in animation to make them march.\n$ant-size: 8px;\n$ant-thickness: 1px;\n\n@mixin ants-base($color-1: black, $color-2: white) {\n background-image: linear-gradient(to right, $color-2 50%, $color-1 50%),\n linear-gradient(to right, $color-2 50%, $color-1 50%),\n linear-gradient(to bottom, $color-2 50%, $color-1 50%),\n linear-gradient(to bottom, $color-2 50%, $color-1 50%);\n background-size:\n $ant-size $ant-thickness,\n $ant-size $ant-thickness,\n $ant-thickness $ant-size,\n $ant-thickness $ant-size;\n background-position:\n 0 top,\n 0 bottom,\n left 0,\n right 0;\n background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;\n animation: march 0.5s;\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n}\n\n@mixin drag-stack($pseudo-element) {\n &::#{$pseudo-element} {\n content: ' ';\n background: $primary;\n box-shadow: $box-shadow;\n border-radius: $border-radius;\n position: absolute;\n height: 100%;\n width: 100%;\n @content;\n }\n}\n\n$focus-bg-transparency: 12%;\n$hover-bg-transparency: 14%;\n$active-bg-transparency: 28%;\n$exception-transparency: 28%;\n","$font-size: 12px;\n$line-height: 18px;\n$button-height: 26px;\n$button-vert-margin: 4px;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistoryItem.js","names":["React","PureComponent","Button","Log","classNames","Code","ConsoleHistoryItemResult","ConsoleHistoryResultInProgress","ConsoleHistoryResultErrorMessage","jsx","_jsx","jsxs","_jsxs","log","module","ConsoleHistoryItem","constructor","props","handleCancelClick","bind","handleObjectClick","object","debug","openObject","item","cancelResult","concat","command","render","disabled","language","iconForType","disabledObjects","result","hasCommand","commandElement","className","children","resultElements","hasButtons","error","message","changes","created","updated","forEach","title","key","btnDisabled","undefined","indexOf","element","kind","onClick","icon","type","push","_message","errorMessage","onCancelClick","resultElement","length","_defineProperty"],"sources":["../../src/console-history/ConsoleHistoryItem.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { PureComponent, type ReactElement } from 'react';\nimport { Button } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport type { dh } from '@deephaven/jsapi-types';\nimport classNames from 'classnames';\nimport { Code } from '../common';\nimport ConsoleHistoryItemResult from './ConsoleHistoryItemResult';\nimport ConsoleHistoryResultInProgress from './ConsoleHistoryResultInProgress';\nimport ConsoleHistoryResultErrorMessage from './ConsoleHistoryResultErrorMessage';\nimport './ConsoleHistoryItem.scss';\nimport { type ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\nconst log = Log.module('ConsoleHistoryItem');\n\ninterface ConsoleHistoryItemProps {\n item: ConsoleHistoryActionItem;\n language: string;\n openObject: (object: dh.ide.VariableDefinition) => void;\n disabled?: boolean;\n // TODO: #1573 Remove this eslint disable\n // eslint-disable-next-line react/no-unused-prop-types\n supportsType: (type: string) => boolean;\n iconForType: (type: string) => ReactElement;\n}\n\nclass ConsoleHistoryItem extends PureComponent<\n ConsoleHistoryItemProps,\n Record<string, never>\n> {\n static defaultProps = {\n disabled: false,\n };\n\n constructor(props: ConsoleHistoryItemProps) {\n super(props);\n\n this.handleCancelClick = this.handleCancelClick.bind(this);\n this.handleObjectClick = this.handleObjectClick.bind(this);\n }\n\n handleObjectClick(object: dh.ide.VariableDefinition): void {\n log.debug('handleObjectClick', object);\n\n const { openObject } = this.props;\n openObject(object);\n }\n\n handleCancelClick(): void {\n const { item } = this.props;\n if (item != null && item.cancelResult) {\n log.debug(`Cancelling command: ${item.command}`);\n item.cancelResult();\n }\n }\n\n render(): ReactElement {\n const { disabled, item, language, iconForType } = this.props;\n const { disabledObjects, result } = item;\n const hasCommand = item.command != null && item.command !== '';\n\n let commandElement = null;\n if (hasCommand) {\n commandElement = (\n <div className=\"console-history-item-command\">\n <div className=\"console-history-gutter\">&gt;</div>\n <div className=\"console-history-content\">\n <Code language={language}>{item.command}</Code>\n </div>\n </div>\n );\n }\n\n const resultElements = [];\n let hasButtons = false;\n\n if (result) {\n const { error, message, changes } = result;\n\n if (changes) {\n const { created, updated } = changes;\n // TODO: #1573 filter for supported types or change button kind\n // based on if type is supported. Possibly a warn state for widgets\n // that the UI doesn't have anything registered to support.\n [...created, ...updated].forEach(object => {\n hasButtons = true;\n const { title } = object;\n const key = `${title}`;\n const btnDisabled =\n disabled === undefined ||\n disabled ||\n (disabledObjects ?? []).indexOf(key) >= 0;\n const element = (\n <Button\n key={key}\n kind=\"primary\"\n onClick={() => this.handleObjectClick(object)}\n className=\"btn-console-object\"\n disabled={btnDisabled}\n icon={iconForType(object.type)}\n >\n {title}\n </Button>\n );\n resultElements.push(element);\n });\n }\n\n // If the error has an associated command, we'll actually get a separate ERROR item printed out, so only print an error if there isn't an associated command\n if (error != null && !hasCommand) {\n let errorMessage = `${(error as { message: string }).message ?? error}`;\n if (!errorMessage) {\n errorMessage = error as string;\n }\n const element = (\n <ConsoleHistoryResultErrorMessage\n key=\"result-error\"\n message={errorMessage}\n />\n );\n resultElements.push(element);\n }\n\n if (message !== undefined && message !== '') {\n const element = (\n <div key=\"log-message\" className=\"log-message\">\n {message}\n </div>\n );\n resultElements.push(element);\n }\n } else {\n hasButtons = true;\n const element = (\n <ConsoleHistoryResultInProgress\n key=\"in_progress\"\n onCancelClick={this.handleCancelClick}\n disabled={disabled}\n />\n );\n resultElements.push(element);\n }\n\n let resultElement = null;\n if (resultElements.length > 0) {\n resultElement = (\n <ConsoleHistoryItemResult>{resultElements}</ConsoleHistoryItemResult>\n );\n }\n\n return (\n <div\n className={classNames('console-command-result', {\n 'console-result-buttons': hasButtons,\n })}\n >\n {commandElement}\n {resultElement}\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryItem;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ConsoleHistoryItem.js","names":["React","PureComponent","Button","Log","classNames","Code","ConsoleHistoryItemResult","ConsoleHistoryResultInProgress","ConsoleHistoryResultErrorMessage","jsx","_jsx","jsxs","_jsxs","log","module","ConsoleHistoryItem","constructor","props","handleCancelClick","bind","handleObjectClick","object","debug","openObject","item","cancelResult","concat","command","render","disabled","language","iconForType","disabledObjects","result","hasCommand","commandElement","className","children","resultElements","hasButtons","error","message","changes","created","updated","forEach","title","key","btnDisabled","undefined","indexOf","element","kind","onClick","icon","type","push","_message","errorMessage","onCancelClick","resultElement","length","_defineProperty"],"sources":["../../src/console-history/ConsoleHistoryItem.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { PureComponent, type ReactElement } from 'react';\nimport { Button } from '@deephaven/components';\nimport Log from '@deephaven/log';\nimport type { dh } from '@deephaven/jsapi-types';\nimport classNames from 'classnames';\nimport { Code } from '../common';\nimport ConsoleHistoryItemResult from './ConsoleHistoryItemResult';\nimport ConsoleHistoryResultInProgress from './ConsoleHistoryResultInProgress';\nimport ConsoleHistoryResultErrorMessage from './ConsoleHistoryResultErrorMessage';\nimport './ConsoleHistoryItem.scss';\nimport { type ConsoleHistoryActionItem } from './ConsoleHistoryTypes';\n\nconst log = Log.module('ConsoleHistoryItem');\n\ninterface ConsoleHistoryItemProps {\n item: ConsoleHistoryActionItem;\n language: string;\n openObject: (object: dh.ide.VariableDefinition) => void;\n disabled?: boolean;\n // TODO: #1573 Remove this eslint disable\n // eslint-disable-next-line react/no-unused-prop-types\n supportsType: (type: string) => boolean;\n iconForType: (type: string) => ReactElement;\n}\n\nclass ConsoleHistoryItem extends PureComponent<\n ConsoleHistoryItemProps,\n Record<string, never>\n> {\n static defaultProps = {\n disabled: false,\n };\n\n constructor(props: ConsoleHistoryItemProps) {\n super(props);\n\n this.handleCancelClick = this.handleCancelClick.bind(this);\n this.handleObjectClick = this.handleObjectClick.bind(this);\n }\n\n handleObjectClick(object: dh.ide.VariableDefinition): void {\n log.debug('handleObjectClick', object);\n\n const { openObject } = this.props;\n openObject(object);\n }\n\n handleCancelClick(): void {\n const { item } = this.props;\n if (item != null && item.cancelResult) {\n log.debug(`Cancelling command: ${item.command}`);\n item.cancelResult();\n }\n }\n\n render(): ReactElement {\n const { disabled, item, language, iconForType } = this.props;\n const { disabledObjects, result } = item;\n const hasCommand = item.command != null && item.command !== '';\n\n let commandElement = null;\n if (hasCommand) {\n commandElement = (\n <div className=\"console-history-item-command\">\n <div className=\"console-history-gutter\">&gt;</div>\n <div className=\"console-history-content\">\n <Code language={language}>{item.command}</Code>\n </div>\n </div>\n );\n }\n\n const resultElements = [];\n let hasButtons = false;\n\n if (result) {\n const { error, message, changes } = result;\n\n if (changes) {\n const { created, updated } = changes;\n // TODO: #1573 filter for supported types or change button kind\n // based on if type is supported. Possibly a warn state for widgets\n // that the UI doesn't have anything registered to support.\n [...created, ...updated].forEach(object => {\n hasButtons = true;\n const { title } = object;\n const key = `${title}`;\n const btnDisabled =\n disabled === undefined ||\n disabled ||\n (disabledObjects ?? []).indexOf(key) >= 0;\n const element = (\n <Button\n key={key}\n kind=\"primary\"\n onClick={() => this.handleObjectClick(object)}\n className=\"btn-console-object\"\n disabled={btnDisabled}\n icon={iconForType(object.type)}\n >\n {title}\n </Button>\n );\n resultElements.push(element);\n });\n }\n\n // If the error has an associated command, we'll actually get a separate ERROR item printed out, so only print an error if there isn't an associated command\n if (error != null && !hasCommand) {\n let errorMessage = `${(error as { message: string }).message ?? error}`;\n if (!errorMessage) {\n errorMessage = error as string;\n }\n const element = (\n <ConsoleHistoryResultErrorMessage\n key=\"result-error\"\n message={errorMessage}\n />\n );\n resultElements.push(element);\n }\n\n if (message !== undefined && message !== '') {\n const element = (\n <div key=\"log-message\" className=\"log-message\">\n {message}\n </div>\n );\n resultElements.push(element);\n }\n } else {\n hasButtons = true;\n const element = (\n <ConsoleHistoryResultInProgress\n key=\"in_progress\"\n onCancelClick={this.handleCancelClick}\n disabled={disabled}\n />\n );\n resultElements.push(element);\n }\n\n let resultElement = null;\n if (resultElements.length > 0) {\n resultElement = (\n <ConsoleHistoryItemResult>{resultElements}</ConsoleHistoryItemResult>\n );\n }\n\n return (\n <div\n className={classNames('console-command-result', {\n 'console-result-buttons': hasButtons,\n })}\n >\n {commandElement}\n {resultElement}\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryItem;\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistoryItemResult.js","names":["React","PropTypes","jsx","_jsx","jsxs","_jsxs","ConsoleHistoryItemResult","_ref","children","className","propTypes","node","isRequired"],"sources":["../../src/console-history/ConsoleHistoryItemResult.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { type ReactElement, type ReactNode } from 'react';\nimport PropTypes from 'prop-types';\n\nfunction ConsoleHistoryItemResult({\n children,\n}: {\n children: ReactNode;\n}): ReactElement {\n return (\n <div className=\"console-history-item-result\">\n <div className=\"console-history-gutter\">-</div>\n <div className=\"console-history-content\">{children}</div>\n </div>\n );\n}\n\nConsoleHistoryItemResult.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default ConsoleHistoryItemResult;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAA6C,OAAO;AAChE,OAAOC,SAAS,MAAM,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEnC,SAASC,wBAAwBA,CAAAC,IAAA,EAIhB;EAAA,IAJiB;IAChCC;EAGF,CAAC,GAAAD,IAAA;EACC,oBACEF,KAAA;IAAKI,SAAS,EAAC,6BAA6B;IAAAD,QAAA,gBAC1CL,IAAA;MAAKM,SAAS,EAAC,wBAAwB;MAAAD,QAAA,EAAC;IAAC,CAAK,CAAC,eAC/CL,IAAA;MAAKM,SAAS,EAAC,yBAAyB;MAAAD,QAAA,EAAEA;IAAQ,CAAM,CAAC;EAAA,CACtD,CAAC;AAEV;AAEAF,wBAAwB,CAACI,SAAS,GAAG;EACnCF,QAAQ,EAAEP,SAAS,CAACU,IAAI,CAACC;AAC3B,CAAC;AAED,eAAeN,wBAAwB","ignoreList":[]}
1
+ {"version":3,"file":"ConsoleHistoryItemResult.js","names":["React","PropTypes","jsx","_jsx","jsxs","_jsxs","ConsoleHistoryItemResult","_ref","children","className","propTypes","node","isRequired"],"sources":["../../src/console-history/ConsoleHistoryItemResult.tsx"],"sourcesContent":["/**\n * Console display for use in the Iris environment.\n */\nimport React, { type ReactElement, type ReactNode } from 'react';\nimport PropTypes from 'prop-types';\n\nfunction ConsoleHistoryItemResult({\n children,\n}: {\n children: ReactNode;\n}): ReactElement {\n return (\n <div className=\"console-history-item-result\">\n <div className=\"console-history-gutter\">-</div>\n <div className=\"console-history-content\">{children}</div>\n </div>\n );\n}\n\nConsoleHistoryItemResult.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default ConsoleHistoryItemResult;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,KAAK,MAA6C,OAAO;AAChE,OAAOC,SAAS,MAAM,YAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEnC,SAASC,wBAAwBA,CAAAC,IAAA,EAIhB;EAAA,IAJiB;IAChCC;EAGF,CAAC,GAAAD,IAAA;EACC,oBACEF,KAAA;IAAKI,SAAS,EAAC,6BAA6B;IAAAD,QAAA,gBAC1CL,IAAA;MAAKM,SAAS,EAAC,wBAAwB;MAAAD,QAAA,EAAC;IAAC,CAAK,CAAC,eAC/CL,IAAA;MAAKM,SAAS,EAAC,yBAAyB;MAAAD,QAAA,EAAEA;IAAQ,CAAM,CAAC;EAAA,CACtD,CAAC;AAEV;AAEAF,wBAAwB,CAACI,SAAS,GAAG;EACnCF,QAAQ,EAAEP,SAAS,CAACU,IAAI,CAACC;AAC3B,CAAC;AAED,eAAeN,wBAAwB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleHistoryResultErrorMessage.js","names":["React","PureComponent","classNames","FontAwesomeIcon","vsTriangleRight","vsTriangleDown","assertNotNull","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ConsoleHistoryResultErrorMessage","constructor","props","_defineProperty","handleKeyPress","bind","handleMouseDown","handleMouseMove","handleMouseUp","handleToggleError","handleMouseEnter","handleMouseLeave","mouseX","mouseY","isClicking","state","isExpanded","isTriggerHovered","event","key","stopPropagation","preventDefault","clientX","clientY","Math","abs","mouseDragThreshold","shiftKey","metaKey","altKey","setState","render","message","messageProp","trimEnd","lineBreakIndex","indexOf","isMultiline","topLineOfMessage","slice","remainderOfMessage","arrowBtnClasses","className","expanded","children","type","onClick","tabIndex","icon","transform","role","onKeyPress","onMouseDown","onMouseMove","onMouseEnter","onMouseLeave","onMouseUp"],"sources":["../../src/console-history/ConsoleHistoryResultErrorMessage.tsx"],"sourcesContent":["/**\n * Error message that can be expanded\n */\nimport React, {\n type KeyboardEvent,\n type MouseEvent,\n PureComponent,\n type ReactElement,\n} from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsTriangleRight, vsTriangleDown } from '@deephaven/icons';\nimport { assertNotNull } from '@deephaven/utils';\n\ninterface ConsoleHistoryResultErrorMessageProps {\n message?: string;\n}\n\ninterface ConsoleHistoryResultErrorMessageState {\n isExpanded: boolean;\n isTriggerHovered: boolean;\n}\n\nclass ConsoleHistoryResultErrorMessage extends PureComponent<\n ConsoleHistoryResultErrorMessageProps,\n ConsoleHistoryResultErrorMessageState\n> {\n static defaultProps = {\n message: '',\n };\n\n static mouseDragThreshold = 5;\n\n constructor(props: ConsoleHistoryResultErrorMessageProps) {\n super(props);\n\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.handleMouseDown = this.handleMouseDown.bind(this);\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleMouseUp = this.handleMouseUp.bind(this);\n this.handleToggleError = this.handleToggleError.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n\n this.mouseX = null;\n this.mouseY = null;\n this.isClicking = false;\n\n this.state = {\n isExpanded: false,\n isTriggerHovered: false,\n };\n }\n\n mouseX: number | null;\n\n mouseY: number | null;\n\n isClicking: boolean;\n\n handleKeyPress(event: KeyboardEvent<HTMLDivElement>): void {\n switch (event.key) {\n case 'Enter':\n case ' ':\n // Toggle the error open/closed\n this.handleToggleError();\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n break;\n }\n }\n\n handleMouseDown(event: MouseEvent<HTMLDivElement>): void {\n this.mouseX = event.clientX;\n this.mouseY = event.clientY;\n this.isClicking = true;\n }\n\n handleMouseMove(event: MouseEvent<HTMLDivElement>): void {\n if (this.mouseX != null && this.mouseY != null) {\n if (\n Math.abs(event.clientX - this.mouseX) >=\n ConsoleHistoryResultErrorMessage.mouseDragThreshold ||\n Math.abs(event.clientY - this.mouseY) >=\n ConsoleHistoryResultErrorMessage.mouseDragThreshold\n ) {\n this.isClicking = false;\n }\n } else if (this.isClicking) {\n // Rare case - could happen if you mouse down, switch window focus, release the mouse, then come back, mouse down outside of the error, drag into the error, then release the mouse\n this.isClicking = false;\n }\n }\n\n handleMouseUp(event: MouseEvent<HTMLDivElement>): void {\n // We don't want to expand/collapse the error if user is holding shift or an alt key\n // They may be trying to adjust their selection\n if (this.isClicking && !event.shiftKey && !event.metaKey && !event.altKey) {\n this.handleToggleError();\n }\n this.mouseX = null;\n this.mouseY = null;\n this.isClicking = false;\n }\n\n handleToggleError(): void {\n this.setState(state => ({ isExpanded: !state.isExpanded }));\n }\n\n handleMouseEnter(): void {\n this.setState({ isTriggerHovered: true });\n }\n\n handleMouseLeave(): void {\n this.setState({ isTriggerHovered: false });\n }\n\n render(): ReactElement {\n const { isExpanded, isTriggerHovered } = this.state;\n const { message: messageProp } = this.props;\n assertNotNull(messageProp);\n // Trim trailing whitespace to avoid unnecessary empty lines\n const message = messageProp.trimEnd();\n const lineBreakIndex = message.indexOf('\\n');\n const isMultiline = lineBreakIndex > -1;\n let topLineOfMessage = message;\n if (isMultiline) {\n topLineOfMessage = message.slice(0, lineBreakIndex);\n }\n const remainderOfMessage = message.slice(lineBreakIndex);\n const arrowBtnClasses = isTriggerHovered\n ? 'error-btn-link error-btn-link--active'\n : 'error-btn-link';\n\n return (\n <div\n key=\"error\"\n className={classNames('error-message', {\n expanded: isExpanded,\n })}\n >\n {isMultiline && (\n <>\n <div className=\"error-gutter\">\n <button\n type=\"button\"\n onClick={this.handleToggleError}\n className={arrowBtnClasses}\n tabIndex={-1}\n >\n <FontAwesomeIcon\n icon={isExpanded ? vsTriangleDown : vsTriangleRight}\n transform=\"left-3\"\n />\n </button>\n </div>\n <div className=\"error-content\">\n <div\n className=\"console-error-text-trigger\"\n role=\"button\"\n tabIndex={0}\n onKeyPress={this.handleKeyPress}\n onMouseDown={this.handleMouseDown}\n onMouseMove={this.handleMouseMove}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onMouseUp={this.handleMouseUp}\n >\n {topLineOfMessage}\n </div>\n {isExpanded ? remainderOfMessage : ''}\n </div>\n </>\n )}\n {!isMultiline && (\n <div className=\"error-content\">\n <div className=\"console-error-text\">{topLineOfMessage}</div>\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryResultErrorMessage;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"ConsoleHistoryResultErrorMessage.js","names":["React","PureComponent","classNames","FontAwesomeIcon","vsTriangleRight","vsTriangleDown","assertNotNull","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ConsoleHistoryResultErrorMessage","constructor","props","_defineProperty","handleKeyPress","bind","handleMouseDown","handleMouseMove","handleMouseUp","handleToggleError","handleMouseEnter","handleMouseLeave","mouseX","mouseY","isClicking","state","isExpanded","isTriggerHovered","event","key","stopPropagation","preventDefault","clientX","clientY","Math","abs","mouseDragThreshold","shiftKey","metaKey","altKey","setState","render","message","messageProp","trimEnd","lineBreakIndex","indexOf","isMultiline","topLineOfMessage","slice","remainderOfMessage","arrowBtnClasses","className","expanded","children","type","onClick","tabIndex","icon","transform","role","onKeyPress","onMouseDown","onMouseMove","onMouseEnter","onMouseLeave","onMouseUp"],"sources":["../../src/console-history/ConsoleHistoryResultErrorMessage.tsx"],"sourcesContent":["/**\n * Error message that can be expanded\n */\nimport React, {\n type KeyboardEvent,\n type MouseEvent,\n PureComponent,\n type ReactElement,\n} from 'react';\nimport classNames from 'classnames';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { vsTriangleRight, vsTriangleDown } from '@deephaven/icons';\nimport { assertNotNull } from '@deephaven/utils';\n\ninterface ConsoleHistoryResultErrorMessageProps {\n message?: string;\n}\n\ninterface ConsoleHistoryResultErrorMessageState {\n isExpanded: boolean;\n isTriggerHovered: boolean;\n}\n\nclass ConsoleHistoryResultErrorMessage extends PureComponent<\n ConsoleHistoryResultErrorMessageProps,\n ConsoleHistoryResultErrorMessageState\n> {\n static defaultProps = {\n message: '',\n };\n\n static mouseDragThreshold = 5;\n\n constructor(props: ConsoleHistoryResultErrorMessageProps) {\n super(props);\n\n this.handleKeyPress = this.handleKeyPress.bind(this);\n this.handleMouseDown = this.handleMouseDown.bind(this);\n this.handleMouseMove = this.handleMouseMove.bind(this);\n this.handleMouseUp = this.handleMouseUp.bind(this);\n this.handleToggleError = this.handleToggleError.bind(this);\n this.handleMouseEnter = this.handleMouseEnter.bind(this);\n this.handleMouseLeave = this.handleMouseLeave.bind(this);\n\n this.mouseX = null;\n this.mouseY = null;\n this.isClicking = false;\n\n this.state = {\n isExpanded: false,\n isTriggerHovered: false,\n };\n }\n\n mouseX: number | null;\n\n mouseY: number | null;\n\n isClicking: boolean;\n\n handleKeyPress(event: KeyboardEvent<HTMLDivElement>): void {\n switch (event.key) {\n case 'Enter':\n case ' ':\n // Toggle the error open/closed\n this.handleToggleError();\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n break;\n }\n }\n\n handleMouseDown(event: MouseEvent<HTMLDivElement>): void {\n this.mouseX = event.clientX;\n this.mouseY = event.clientY;\n this.isClicking = true;\n }\n\n handleMouseMove(event: MouseEvent<HTMLDivElement>): void {\n if (this.mouseX != null && this.mouseY != null) {\n if (\n Math.abs(event.clientX - this.mouseX) >=\n ConsoleHistoryResultErrorMessage.mouseDragThreshold ||\n Math.abs(event.clientY - this.mouseY) >=\n ConsoleHistoryResultErrorMessage.mouseDragThreshold\n ) {\n this.isClicking = false;\n }\n } else if (this.isClicking) {\n // Rare case - could happen if you mouse down, switch window focus, release the mouse, then come back, mouse down outside of the error, drag into the error, then release the mouse\n this.isClicking = false;\n }\n }\n\n handleMouseUp(event: MouseEvent<HTMLDivElement>): void {\n // We don't want to expand/collapse the error if user is holding shift or an alt key\n // They may be trying to adjust their selection\n if (this.isClicking && !event.shiftKey && !event.metaKey && !event.altKey) {\n this.handleToggleError();\n }\n this.mouseX = null;\n this.mouseY = null;\n this.isClicking = false;\n }\n\n handleToggleError(): void {\n this.setState(state => ({ isExpanded: !state.isExpanded }));\n }\n\n handleMouseEnter(): void {\n this.setState({ isTriggerHovered: true });\n }\n\n handleMouseLeave(): void {\n this.setState({ isTriggerHovered: false });\n }\n\n render(): ReactElement {\n const { isExpanded, isTriggerHovered } = this.state;\n const { message: messageProp } = this.props;\n assertNotNull(messageProp);\n // Trim trailing whitespace to avoid unnecessary empty lines\n const message = messageProp.trimEnd();\n const lineBreakIndex = message.indexOf('\\n');\n const isMultiline = lineBreakIndex > -1;\n let topLineOfMessage = message;\n if (isMultiline) {\n topLineOfMessage = message.slice(0, lineBreakIndex);\n }\n const remainderOfMessage = message.slice(lineBreakIndex);\n const arrowBtnClasses = isTriggerHovered\n ? 'error-btn-link error-btn-link--active'\n : 'error-btn-link';\n\n return (\n <div\n key=\"error\"\n className={classNames('error-message', {\n expanded: isExpanded,\n })}\n >\n {isMultiline && (\n <>\n <div className=\"error-gutter\">\n <button\n type=\"button\"\n onClick={this.handleToggleError}\n className={arrowBtnClasses}\n tabIndex={-1}\n >\n <FontAwesomeIcon\n icon={isExpanded ? vsTriangleDown : vsTriangleRight}\n transform=\"left-3\"\n />\n </button>\n </div>\n <div className=\"error-content\">\n <div\n className=\"console-error-text-trigger\"\n role=\"button\"\n tabIndex={0}\n onKeyPress={this.handleKeyPress}\n onMouseDown={this.handleMouseDown}\n onMouseMove={this.handleMouseMove}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n onMouseUp={this.handleMouseUp}\n >\n {topLineOfMessage}\n </div>\n {isExpanded ? remainderOfMessage : ''}\n </div>\n </>\n )}\n {!isMultiline && (\n <div className=\"error-content\">\n <div className=\"console-error-text\">{topLineOfMessage}</div>\n </div>\n )}\n </div>\n );\n }\n}\n\nexport default ConsoleHistoryResultErrorMessage;\n"],"mappings":"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"}