diagram-js.css 19 KB

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