diagram-js.css 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986
  1. /**
  2. * color definitions
  3. */
  4. .djs-parent {
  5. --color-grey-225-10-15: hsl(225, 10%, 15%);
  6. --color-grey-225-10-35: hsl(225, 10%, 35%);
  7. --color-grey-225-10-55: hsl(225, 10%, 55%);
  8. --color-grey-225-10-75: hsl(225, 10%, 75%);
  9. --color-grey-225-10-80: hsl(225, 10%, 80%);
  10. --color-grey-225-10-85: hsl(225, 10%, 85%);
  11. --color-grey-225-10-90: hsl(225, 10%, 90%);
  12. --color-grey-225-10-95: hsl(225, 10%, 95%);
  13. --color-grey-225-10-97: hsl(225, 10%, 97%);
  14. --color-blue-205-100-45: hsl(205, 100%, 45%);
  15. --color-blue-205-100-45-opacity-30: hsla(205, 100%, 45%, 30%);
  16. --color-blue-205-100-50: hsl(205, 100%, 50%);
  17. --color-blue-205-100-50-opacity-15: hsla(205, 100%, 50%, 15%);
  18. --color-blue-205-100-70: hsl(205, 100%, 75%);
  19. --color-blue-205-100-95: hsl(205, 100%, 95%);
  20. --color-green-150-86-44: hsl(150, 86%, 44%);
  21. --color-red-360-100-40: hsl(360, 100%, 40%);
  22. --color-red-360-100-45: hsl(360, 100%, 45%);
  23. --color-red-360-100-92: hsl(360, 100%, 92%);
  24. --color-red-360-100-97: hsl(360, 100%, 97%);
  25. --color-white: hsl(0, 0%, 100%);
  26. --color-black: hsl(0, 0%, 0%);
  27. --color-black-opacity-10: hsla(0, 0%, 0%, 10%);
  28. --color-black-opacity-30: hsla(0, 0%, 0%, 30%);
  29. --canvas-fill-color: var(--color-white);
  30. --bendpoint-fill-color: var(--color-blue-205-100-45);
  31. --bendpoint-stroke-color: var(--canvas-fill-color);
  32. --context-pad-entry-background-color: var(--color-white);
  33. --context-pad-entry-hover-background-color: var(--color-grey-225-10-95);
  34. --element-dragger-color: var(--color-blue-205-100-50);
  35. --element-hover-outline-fill-color: var(--color-blue-205-100-45);
  36. --element-selected-outline-stroke-color: var(--color-blue-205-100-50);
  37. --element-selected-outline-secondary-stroke-color: var(--color-blue-205-100-70);
  38. --lasso-fill-color: var(--color-blue-205-100-50-opacity-15);
  39. --lasso-stroke-color: var(--element-selected-outline-stroke-color);
  40. --palette-entry-color: var(--color-grey-225-10-15);
  41. --palette-entry-hover-color: var(--color-blue-205-100-45);
  42. --palette-entry-selected-color: var(--color-blue-205-100-50);
  43. --palette-separator-color: var(--color-grey-225-10-75);
  44. --palette-toggle-hover-background-color: var(--color-grey-225-10-55);
  45. --palette-background-color: var(--color-grey-225-10-97);
  46. --palette-border-color: var(--color-grey-225-10-75);
  47. --popup-font-size: 14px;
  48. --popup-header-entry-selected-color: var(--color-blue-205-100-50);
  49. --popup-header-font-weight: bolder;
  50. --popup-background-color: var(--color-white);
  51. --popup-border-color: transparent;
  52. --popup-shadow-color: var(--color-black-opacity-30);
  53. --popup-description-color: var(--color-grey-225-10-55);
  54. --popup-no-results-color: var(--color-grey-225-10-55);
  55. --popup-entry-title-color: var(--color-grey-225-10-55);
  56. --popup-entry-hover-color: var(--color-grey-225-10-95);
  57. --popup-search-border-color: var(--color-grey-225-10-75);
  58. --popup-search-focus-border-color: var(--color-blue-205-100-50);
  59. --popup-search-focus-background-color: var(--color-blue-205-100-95);
  60. --resizer-fill-color: var(--color-blue-205-100-45);
  61. --resizer-stroke-color: var(--canvas-fill-color);
  62. --search-container-background-color: var(--color-grey-225-10-97);
  63. --search-container-border-color: var(--color-blue-205-100-50);
  64. --search-container-box-shadow-color: var(--color-blue-205-100-95);
  65. --search-container-box-shadow-inset-color: var(--color-grey-225-10-80);
  66. --search-input-border-color: var(--color-grey-225-10-75);
  67. --search-result-border-color: var(--color-grey-225-10-75);
  68. --search-result-highlight-color: var(--color-black);
  69. --search-result-selected-color: var(--color-blue-205-100-45-opacity-30);
  70. --shape-attach-allowed-stroke-color: var(--color-blue-205-100-50);
  71. --shape-connect-allowed-fill-color: var(--color-grey-225-10-97);
  72. --shape-drop-allowed-fill-color: var(--color-grey-225-10-97);
  73. --shape-drop-not-allowed-fill-color: var(--color-red-360-100-97);
  74. --shape-resize-preview-stroke-color: var(--color-blue-205-100-50);
  75. --snap-line-stroke-color: var(--color-blue-205-100-45-opacity-30);
  76. --space-tool-crosshair-stroke-color: var(--color-black);
  77. --tooltip-error-background-color: var(--color-red-360-100-97);
  78. --tooltip-error-border-color: var(--color-red-360-100-45);
  79. --tooltip-error-color: var(--color-red-360-100-45);
  80. }
  81. /**
  82. * outline styles
  83. */
  84. .djs-outline,
  85. .djs-selection-outline {
  86. fill: none;
  87. shape-rendering: geometricPrecision;
  88. stroke-width: 2px;
  89. }
  90. .djs-outline {
  91. visibility: hidden;
  92. }
  93. .djs-selection-outline {
  94. stroke: var(--element-selected-outline-stroke-color);
  95. }
  96. .djs-element.selected .djs-outline {
  97. visibility: visible;
  98. stroke: var(--element-selected-outline-stroke-color);
  99. }
  100. .djs-multi-select .djs-element.selected .djs-outline {
  101. stroke: var(--element-selected-outline-secondary-stroke-color);
  102. }
  103. .djs-shape.connect-ok .djs-visual > :nth-child(1) {
  104. fill: var(--shape-connect-allowed-fill-color) !important;
  105. }
  106. .djs-shape.connect-not-ok .djs-visual > :nth-child(1),
  107. .djs-shape.drop-not-ok .djs-visual > :nth-child(1) {
  108. fill: var(--shape-drop-not-allowed-fill-color) !important;
  109. }
  110. .djs-shape.new-parent .djs-visual > :nth-child(1) {
  111. fill: var(--shape-drop-allowed-fill-color) !important;
  112. }
  113. svg.drop-not-ok {
  114. background: var(--shape-drop-not-allowed-fill-color) !important;
  115. }
  116. svg.new-parent {
  117. background: var(--shape-drop-allowed-fill-color) !important;
  118. }
  119. /* Override move cursor during drop and connect */
  120. .drop-not-ok,
  121. .connect-not-ok,
  122. .drop-not-ok *,
  123. .connect-not-ok * {
  124. cursor: not-allowed !important;
  125. }
  126. .drop-ok,
  127. .connect-ok,
  128. .drop-ok *,
  129. .connect-ok * {
  130. cursor: default !important;
  131. }
  132. .djs-element.attach-ok .djs-visual > :nth-child(1) {
  133. stroke-width: 5px !important;
  134. stroke: var(--shape-attach-allowed-stroke-color) !important;
  135. }
  136. .djs-frame.connect-not-ok .djs-visual > :nth-child(1),
  137. .djs-frame.drop-not-ok .djs-visual > :nth-child(1) {
  138. stroke-width: 3px !important;
  139. stroke: var(--shape-drop-not-allowed-fill-color) !important;
  140. fill: none !important;
  141. }
  142. /**
  143. * Selection box style
  144. *
  145. */
  146. .djs-lasso-overlay {
  147. fill: var(--lasso-fill-color);
  148. stroke: var(--lasso-stroke-color);
  149. stroke-width: 2px;
  150. shape-rendering: geometricPrecision;
  151. pointer-events: none;
  152. }
  153. /**
  154. * Resize styles
  155. */
  156. .djs-resize-overlay {
  157. fill: none;
  158. stroke-dasharray: 5 1 3 1;
  159. stroke: var(--shape-resize-preview-stroke-color);
  160. pointer-events: none;
  161. }
  162. .djs-resizer-hit {
  163. fill: none;
  164. pointer-events: all;
  165. }
  166. .djs-resizer-visual {
  167. fill: var(--resizer-fill-color);
  168. stroke-width: 1px;
  169. stroke: var(--resizer-stroke-color);
  170. shape-rendering: geometricPrecision;
  171. }
  172. .djs-resizer:hover .djs-resizer-visual {
  173. stroke: var(--resizer-stroke-color);
  174. stroke-opacity: 1;
  175. }
  176. .djs-cursor-resize-ns,
  177. .djs-resizer-n,
  178. .djs-resizer-s {
  179. cursor: ns-resize;
  180. }
  181. .djs-cursor-resize-ew,
  182. .djs-resizer-e,
  183. .djs-resizer-w {
  184. cursor: ew-resize;
  185. }
  186. .djs-cursor-resize-nwse,
  187. .djs-resizer-nw,
  188. .djs-resizer-se {
  189. cursor: nwse-resize;
  190. }
  191. .djs-cursor-resize-nesw,
  192. .djs-resizer-ne,
  193. .djs-resizer-sw {
  194. cursor: nesw-resize;
  195. }
  196. .djs-shape.djs-resizing > .djs-outline {
  197. visibility: hidden !important;
  198. }
  199. .djs-shape.djs-resizing > .djs-resizer {
  200. visibility: hidden;
  201. }
  202. .djs-dragger > .djs-resizer {
  203. visibility: hidden;
  204. }
  205. /**
  206. * drag styles
  207. */
  208. .djs-dragger * {
  209. fill: none !important;
  210. stroke: var(--element-dragger-color) !important;
  211. }
  212. .djs-dragger tspan,
  213. .djs-dragger text {
  214. fill: var(--element-dragger-color) !important;
  215. stroke: none !important;
  216. }
  217. marker.djs-dragger circle,
  218. marker.djs-dragger path,
  219. marker.djs-dragger polygon,
  220. marker.djs-dragger polyline,
  221. marker.djs-dragger rect {
  222. fill: var(--element-dragger-color) !important;
  223. stroke: none !important;
  224. }
  225. marker.djs-dragger text,
  226. marker.djs-dragger tspan {
  227. fill: none !important;
  228. stroke: var(--element-dragger-color) !important;
  229. }
  230. .djs-dragging {
  231. opacity: 0.3;
  232. }
  233. .djs-dragging,
  234. .djs-dragging > * {
  235. pointer-events: none !important;
  236. }
  237. .djs-dragging .djs-context-pad,
  238. .djs-dragging .djs-outline {
  239. display: none !important;
  240. }
  241. /**
  242. * no pointer events for visual
  243. */
  244. .djs-visual,
  245. .djs-outline {
  246. pointer-events: none;
  247. }
  248. .djs-element.attach-ok .djs-hit {
  249. stroke-width: 60px !important;
  250. }
  251. /**
  252. * all pointer events for hit shape
  253. */
  254. .djs-element > .djs-hit-all,
  255. .djs-element > .djs-hit-no-move {
  256. pointer-events: all;
  257. }
  258. .djs-element > .djs-hit-stroke,
  259. .djs-element > .djs-hit-click-stroke {
  260. pointer-events: stroke;
  261. }
  262. /**
  263. * shape / connection basic styles
  264. */
  265. .djs-connection .djs-visual {
  266. stroke-width: 2px;
  267. fill: none;
  268. }
  269. .djs-cursor-grab {
  270. cursor: -webkit-grab;
  271. cursor: -moz-grab;
  272. cursor: grab;
  273. }
  274. .djs-cursor-grabbing {
  275. cursor: -webkit-grabbing;
  276. cursor: -moz-grabbing;
  277. cursor: grabbing;
  278. }
  279. .djs-cursor-crosshair {
  280. cursor: crosshair;
  281. }
  282. .djs-cursor-move {
  283. cursor: move;
  284. }
  285. .djs-cursor-resize-ns {
  286. cursor: ns-resize;
  287. }
  288. .djs-cursor-resize-ew {
  289. cursor: ew-resize;
  290. }
  291. /**
  292. * snapping
  293. */
  294. .djs-snap-line {
  295. stroke: var(--snap-line-stroke-color);
  296. stroke-linecap: round;
  297. stroke-width: 2px;
  298. pointer-events: none;
  299. }
  300. /**
  301. * snapping
  302. */
  303. .djs-crosshair {
  304. stroke: var(--space-tool-crosshair-stroke-color);
  305. stroke-linecap: round;
  306. stroke-width: 1px;
  307. pointer-events: none;
  308. shape-rendering: geometricPrecision;
  309. stroke-dasharray: 5, 5;
  310. }
  311. /**
  312. * palette
  313. */
  314. .djs-palette {
  315. position: absolute;
  316. left: 20px;
  317. top: 20px;
  318. box-sizing: border-box;
  319. width: 48px;
  320. }
  321. .djs-palette .separator {
  322. margin: 5px;
  323. padding-top: 5px;
  324. border: none;
  325. border-bottom: solid 1px var(--palette-separator-color);
  326. clear: both;
  327. }
  328. .djs-palette .entry:before {
  329. vertical-align: initial;
  330. }
  331. .djs-palette .djs-palette-toggle {
  332. cursor: pointer;
  333. }
  334. .djs-palette .entry,
  335. .djs-palette .djs-palette-toggle {
  336. color: var(--palette-entry-color);
  337. font-size: 30px;
  338. text-align: center;
  339. }
  340. .djs-palette .entry {
  341. float: left;
  342. }
  343. .djs-palette .entry img {
  344. max-width: 100%;
  345. }
  346. .djs-palette .djs-palette-entries:after {
  347. content: '';
  348. display: table;
  349. clear: both;
  350. }
  351. .djs-palette .djs-palette-toggle:hover {
  352. background: var(--palette-toggle-hover-background-color);
  353. }
  354. .djs-palette .entry:hover {
  355. color: var(--palette-entry-hover-color);
  356. }
  357. .djs-palette .highlighted-entry {
  358. color: var(--palette-entry-selected-color) !important;
  359. }
  360. .djs-palette .entry,
  361. .djs-palette .djs-palette-toggle {
  362. width: 46px;
  363. height: 46px;
  364. line-height: 46px;
  365. cursor: default;
  366. }
  367. /**
  368. * Palette open / two-column layout is controlled via
  369. * classes on the palette. Events to hook into palette
  370. * changed life-cycle are available in addition.
  371. */
  372. .djs-palette.two-column.open {
  373. width: 94px;
  374. }
  375. .djs-palette:not(.open) .djs-palette-entries {
  376. display: none;
  377. }
  378. .djs-palette:not(.open) {
  379. overflow: hidden;
  380. }
  381. .djs-palette.open .djs-palette-toggle {
  382. display: none;
  383. }
  384. /**
  385. * context-pad
  386. */
  387. .djs-overlay-context-pad {
  388. width: 72px;
  389. z-index: 100;
  390. }
  391. .djs-context-pad {
  392. position: absolute;
  393. display: none;
  394. pointer-events: none;
  395. line-height: 1;
  396. }
  397. .djs-context-pad .entry {
  398. width: 22px;
  399. height: 22px;
  400. text-align: center;
  401. display: inline-block;
  402. font-size: 22px;
  403. margin: 0 2px 2px 0;
  404. border-radius: 3px;
  405. cursor: default;
  406. background-color: var(--context-pad-entry-background-color);
  407. box-shadow: 0 0 2px 1px var(--context-pad-entry-background-color);
  408. pointer-events: all;
  409. vertical-align: middle;
  410. }
  411. .djs-context-pad .entry:hover {
  412. background: var(--context-pad-entry-hover-background-color);
  413. }
  414. .djs-context-pad.open {
  415. display: block;
  416. }
  417. /**
  418. * popup styles
  419. */
  420. .djs-popup-backdrop {
  421. position: fixed;
  422. width: 100vw;
  423. height: 100vh;
  424. top: 0;
  425. left: 0;
  426. z-index: 200;
  427. line-height: 1;
  428. font-family: "IBM Plex Sans", sans-serif;
  429. }
  430. .djs-popup {
  431. box-sizing: border-box;
  432. width: min-content;
  433. background: var(--popup-background-color);
  434. overflow: hidden;
  435. position: absolute;
  436. box-shadow: 0px 2px 6px var(--popup-shadow-color);
  437. border: solid 1px var(--popup-border-color);
  438. min-width: 120px;
  439. outline: none;
  440. font-size: var(--popup-font-size);
  441. }
  442. .djs-popup-search input {
  443. width: 100%;
  444. box-sizing: border-box;
  445. font-size: var(--popup-font-size);
  446. padding: 3px 6px;
  447. border-radius: 2px;
  448. border: solid 1px var(--popup-search-border-color);
  449. line-height: 21px;
  450. }
  451. .djs-popup-search input:focus {
  452. background-color: var(--popup-search-focus-background-color);
  453. border: solid 1px var(--popup-search-focus-border-color);
  454. outline: none;
  455. }
  456. .djs-popup-header {
  457. display: flex;
  458. align-items: stretch;
  459. line-height: 20px;
  460. margin: 10px 12px 10px 12px;
  461. }
  462. .djs-popup-header .entry {
  463. border-radius: 2px;
  464. }
  465. .djs-popup-header .entry.active {
  466. color: var(--popup-header-entry-selected-color);
  467. }
  468. .djs-popup-header .entry.disabled {
  469. color: inherit;
  470. }
  471. .djs-popup-search {
  472. margin: 10px 12px;
  473. }
  474. .djs-popup-title {
  475. font-size: var(--popup-font-size);
  476. font-weight: var(--popup-header-font-weight);
  477. flex: 1;
  478. margin: 0;
  479. }
  480. .djs-popup-search {
  481. position: relative;
  482. width: auto;
  483. }
  484. .djs-popup-search-icon {
  485. position: absolute;
  486. left: 8px;
  487. top: 7px;
  488. }
  489. .djs-popup-search input {
  490. padding-left: 25px;
  491. }
  492. .djs-popup-results {
  493. margin: 7px 3px 7px 12px;
  494. list-style: none;
  495. max-height: 280px;
  496. overflow: auto;
  497. padding-right: 9px;
  498. }
  499. .djs-popup-group {
  500. margin: 0;
  501. padding: 0;
  502. width: 100%;
  503. }
  504. .djs-popup-body .entry,
  505. .djs-popup-body .entry-header {
  506. padding: 5px 7px;
  507. cursor: default;
  508. border-radius: 4px;
  509. }
  510. .djs-popup-body .entry-header {
  511. font-weight: var(--popup-header-font-weight);
  512. color: var(--popup-entry-title-color);
  513. padding-left: 0;
  514. }
  515. .djs-popup [class*="icon"] .djs-popup-label,
  516. .djs-popup-label:not(:first-child) {
  517. margin-left: .5em;
  518. }
  519. .djs-popup [class*="icon"]:before,
  520. .djs-popup-entry-icon {
  521. width: 1em;
  522. height: 1em;
  523. display: inline-block;
  524. font-size: 1.4em;
  525. vertical-align: middle;
  526. }
  527. .djs-popup-body .entry-header:not(:first-child) {
  528. margin-top: 8px;
  529. margin-bottom: 2px;
  530. }
  531. .djs-popup-body .entry {
  532. display: flex;
  533. flex-direction: row;
  534. align-items: stretch;
  535. height: min-content;
  536. }
  537. .djs-popup .entry.selected {
  538. background-color: var(--popup-entry-hover-color);
  539. }
  540. .djs-popup-body .entry:not(:first-child) {
  541. margin-top: 2px;
  542. }
  543. .djs-popup-entry-content {
  544. display: flex;
  545. flex-direction: column;
  546. flex: 1;
  547. overflow: hidden;
  548. }
  549. .djs-popup-entry-description {
  550. color: var(--popup-description-color);
  551. }
  552. .djs-popup-label,
  553. .djs-popup-entry-description {
  554. line-height: 1.4em;
  555. }
  556. .djs-popup-title,
  557. .djs-popup-label,
  558. .djs-popup-entry-description,
  559. .djs-popup .entry-header {
  560. overflow: hidden;
  561. text-overflow: ellipsis;
  562. white-space: nowrap;
  563. }
  564. .djs-popup-entry-name {
  565. display: flex;
  566. }
  567. .entry-content {
  568. display: flex;
  569. flex-direction: column;
  570. flex: 1;
  571. overflow: hidden;
  572. }
  573. .djs-popup-body {
  574. flex-direction: column;
  575. width: auto;
  576. }
  577. .djs-popup *::-webkit-scrollbar {
  578. width: 6px;
  579. }
  580. .djs-popup *::-webkit-scrollbar-thumb {
  581. border-radius: 3px;
  582. background-color: rgba(0, 0, 0, 0.2);
  583. }
  584. .djs-popup *::-webkit-scrollbar-track {
  585. box-shadow: none;
  586. background: transparent;
  587. margin: 0;
  588. padding: 5px;
  589. }
  590. .djs-popup-no-results {
  591. padding: 0 12px 12px 12px;
  592. color: var(--popup-no-results-color);
  593. }
  594. .djs-popup-entry-docs {
  595. flex: 0;
  596. flex-direction: row;
  597. align-items: center;
  598. padding-left: 5px;
  599. display: none;
  600. }
  601. .djs-popup-body .entry:hover .djs-popup-entry-docs {
  602. display: flex;
  603. }
  604. .djs-popup-entry-docs svg {
  605. vertical-align: middle;
  606. margin: auto 2px auto 5px;
  607. }
  608. /**
  609. * palette styles
  610. */
  611. .djs-palette {
  612. background: var(--palette-background-color);
  613. border: solid 1px var(--palette-border-color);
  614. border-radius: 2px;
  615. }
  616. /**
  617. * touch
  618. */
  619. .djs-shape,
  620. .djs-connection {
  621. touch-action: none;
  622. }
  623. .djs-segment-dragger,
  624. .djs-bendpoint {
  625. display: none;
  626. }
  627. /**
  628. * bendpoints
  629. */
  630. .djs-segment-dragger .djs-visual {
  631. display: none;
  632. fill: var(--bendpoint-fill-color);
  633. stroke: var(--bendpoint-stroke-color);
  634. stroke-width: 1px;
  635. stroke-opacity: 1;
  636. }
  637. .djs-segment-dragger:hover .djs-visual {
  638. display: block;
  639. }
  640. .djs-bendpoint .djs-visual {
  641. fill: var(--bendpoint-fill-color);
  642. stroke: var(--bendpoint-stroke-color);
  643. stroke-width: 1px;
  644. }
  645. .djs-segment-dragger:hover,
  646. .djs-bendpoints.hover .djs-segment-dragger,
  647. .djs-bendpoints.selected .djs-segment-dragger,
  648. .djs-bendpoint:hover,
  649. .djs-bendpoints.hover .djs-bendpoint,
  650. .djs-bendpoints.selected .djs-bendpoint {
  651. display: block;
  652. }
  653. .djs-drag-active .djs-bendpoints * {
  654. display: none;
  655. }
  656. .djs-bendpoints:not(.hover) .floating {
  657. display: none;
  658. }
  659. .djs-segment-dragger:hover .djs-visual,
  660. .djs-segment-dragger.djs-dragging .djs-visual,
  661. .djs-bendpoint:hover .djs-visual,
  662. .djs-bendpoint.floating .djs-visual {
  663. fill: var(--bendpoint-fill-color);
  664. stroke: var(--bendpoint-stroke-color);
  665. stroke-opacity: 1;
  666. }
  667. .djs-bendpoint.floating .djs-hit {
  668. pointer-events: none;
  669. }
  670. .djs-segment-dragger .djs-hit,
  671. .djs-bendpoint .djs-hit {
  672. fill: none;
  673. pointer-events: all;
  674. }
  675. .djs-segment-dragger.horizontal .djs-hit {
  676. cursor: ns-resize;
  677. }
  678. .djs-segment-dragger.vertical .djs-hit {
  679. cursor: ew-resize;
  680. }
  681. .djs-segment-dragger.djs-dragging .djs-hit {
  682. pointer-events: none;
  683. }
  684. .djs-updating,
  685. .djs-updating > * {
  686. pointer-events: none !important;
  687. }
  688. .djs-updating .djs-context-pad,
  689. .djs-updating .djs-outline,
  690. .djs-updating .djs-bendpoint,
  691. .djs-multi-select .djs-bendpoint,
  692. .djs-multi-select .djs-segment-dragger,
  693. .connect-ok .djs-bendpoint,
  694. .connect-not-ok .djs-bendpoint,
  695. .drop-ok .djs-bendpoint,
  696. .drop-not-ok .djs-bendpoint {
  697. display: none !important;
  698. }
  699. .djs-segment-dragger.djs-dragging,
  700. .djs-bendpoint.djs-dragging {
  701. display: block;
  702. opacity: 1.0;
  703. }
  704. /**
  705. * tooltips
  706. */
  707. .djs-tooltip-error {
  708. width: 160px;
  709. padding: 6px;
  710. background: var(--tooltip-error-background-color);
  711. border: solid 1px var(--tooltip-error-border-color);
  712. border-radius: 2px;
  713. color: var(--tooltip-error-color);
  714. font-size: 12px;
  715. line-height: 16px;
  716. opacity: 0.75;
  717. }
  718. .djs-tooltip-error:hover {
  719. opacity: 1;
  720. }
  721. /**
  722. * search pad
  723. */
  724. .djs-search-container {
  725. position: absolute;
  726. top: 20px;
  727. left: 0;
  728. right: 0;
  729. margin-left: auto;
  730. margin-right: auto;
  731. width: 25%;
  732. min-width: 300px;
  733. max-width: 400px;
  734. z-index: 10;
  735. font-size: 1.05em;
  736. opacity: 0.9;
  737. background: var(--search-container-background-color);
  738. border: solid 1px var(--search-container-border-color);
  739. border-radius: 2px;
  740. box-shadow: 0 0 0 2px var(--search-container-box-shadow-color), 0 0 0 1px var(--search-container-box-shadow-inset-color) inset;
  741. }
  742. .djs-search-container:not(.open) {
  743. display: none;
  744. }
  745. .djs-search-input input {
  746. font-size: 1.05em;
  747. width: 100%;
  748. padding: 6px 10px;
  749. border: 1px solid var(--search-input-border-color);
  750. box-sizing: border-box;
  751. }
  752. .djs-search-input input:focus {
  753. outline: none;
  754. border-color: var(--search-input-border-color);
  755. }
  756. .djs-search-results {
  757. position: relative;
  758. overflow-y: auto;
  759. max-height: 200px;
  760. }
  761. .djs-search-results:hover {
  762. cursor: pointer;
  763. }
  764. .djs-search-result {
  765. width: 100%;
  766. padding: 6px 10px;
  767. background: white;
  768. border-bottom: solid 1px var(--search-result-border-color);
  769. border-radius: 1px;
  770. }
  771. .djs-search-highlight {
  772. color: var(--search-result-highlight-color);
  773. }
  774. .djs-search-result-primary {
  775. margin: 0 0 10px;
  776. }
  777. .djs-search-result-secondary {
  778. font-family: monospace;
  779. margin: 0;
  780. }
  781. .djs-search-result:hover {
  782. background: var(--search-result-selected-color);
  783. }
  784. .djs-search-result-selected {
  785. background: var(--search-result-selected-color);
  786. }
  787. .djs-search-result-selected:hover {
  788. background: var(--search-result-selected-color);
  789. }
  790. .djs-search-overlay {
  791. background: var(--search-result-selected-color);
  792. }
  793. /**
  794. * hidden styles
  795. */
  796. .djs-element-hidden,
  797. .djs-element-hidden .djs-hit,
  798. .djs-element-hidden .djs-outline,
  799. .djs-label-hidden .djs-label {
  800. display: none !important;
  801. }
  802. .djs-element .djs-hit-stroke,
  803. .djs-element .djs-hit-click-stroke,
  804. .djs-element .djs-hit-all {
  805. cursor: move;
  806. }