j1-template 2022.4.7 → 2022.4.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (285) hide show
  1. checksums.yaml +4 -4
  2. data/_includes/themes/j1/blocks/footer/boxes/contacts_box.proc +3 -3
  3. data/_includes/themes/j1/blocks/footer/boxes/legal_statements.proc +7 -7
  4. data/_includes/themes/j1/blocks/footer/boxes/links_box.proc +1 -1
  5. data/_includes/themes/j1/blocks/footer/boxes/news_box.proc +1 -1
  6. data/_includes/themes/j1/modules/attics/generator.html +7 -7
  7. data/_includes/themes/j1/modules/navigator/generator.html +30 -30
  8. data/_includes/themes/j1/procedures/global/create_bs_button.proc +1 -1
  9. data/_includes/themes/j1/procedures/posts/collate_timeline.proc +1 -1
  10. data/assets/data/authclient.html +16 -14
  11. data/assets/data/banner.html +6 -2
  12. data/assets/data/carousel.json +10 -0
  13. data/assets/data/cookieconsent.html +3 -1
  14. data/assets/data/fab.html +27 -12
  15. data/assets/data/footer.html +10 -10
  16. data/assets/data/galleries.json +7 -0
  17. data/assets/data/gallery_customizer.html +13 -10
  18. data/assets/data/iso-639-language-codes-flags.json +9 -0
  19. data/assets/data/iso-639-language-codes.json +9 -0
  20. data/assets/data/j1_config.json +8 -2
  21. data/assets/data/masterslider.html +342 -0
  22. data/assets/data/mdi_icons.json +5 -0
  23. data/assets/data/mdil_icons.json +5 -0
  24. data/assets/data/menu.html +56 -53
  25. data/assets/data/mmenu.html +44 -40
  26. data/assets/data/mmenu_sidebar.html +15 -13
  27. data/assets/data/mmenu_toc.html +11 -8
  28. data/assets/data/nbinteract.html +3 -2
  29. data/assets/data/panel.html +16 -14
  30. data/assets/data/private.json +2 -2
  31. data/assets/data/quicklinks.html +11 -9
  32. data/assets/data/rtext_resizer.html +11 -7
  33. data/assets/data/themes.bootswatch.json +4 -0
  34. data/assets/data/themes.json +4 -0
  35. data/assets/data/translator.html +3 -1
  36. data/assets/data/twa_v1.json +6 -0
  37. data/assets/themes/j1/adapter/js/advertising.js +2 -0
  38. data/assets/themes/j1/adapter/js/algolia.js +3 -1
  39. data/assets/themes/j1/adapter/js/analytics.js +2 -0
  40. data/assets/themes/j1/adapter/js/asciidoctor.js +16 -0
  41. data/assets/themes/j1/adapter/js/attic.js +5 -4
  42. data/assets/themes/j1/adapter/js/bmd.js +16 -0
  43. data/assets/themes/j1/adapter/js/carousel.js +8 -7
  44. data/assets/themes/j1/adapter/js/clipboard.js +2 -1
  45. data/assets/themes/j1/adapter/js/comments.js +2 -0
  46. data/assets/themes/j1/adapter/js/cookieConsent.js +3 -1
  47. data/assets/themes/j1/adapter/js/customFunctions.js +3 -1
  48. data/assets/themes/j1/adapter/js/customModule.js +5 -3
  49. data/assets/themes/j1/adapter/js/dropdowns.js +3 -1
  50. data/assets/themes/j1/adapter/js/fab.js +3 -1
  51. data/assets/themes/j1/adapter/js/framer.js +3 -1
  52. data/assets/themes/j1/adapter/js/j1.js +25 -19
  53. data/assets/themes/j1/adapter/js/justifiedGallery.js +3 -1
  54. data/assets/themes/j1/adapter/js/justifiedGalleryCustomizer.js +2 -0
  55. data/assets/themes/j1/adapter/js/lightbox.js +3 -1
  56. data/assets/themes/j1/adapter/js/logger.js +2 -0
  57. data/assets/themes/j1/adapter/js/lunr.js +2 -0
  58. data/assets/themes/j1/adapter/js/masterslider.js +529 -0
  59. data/assets/themes/j1/adapter/js/mmenu.js +2 -0
  60. data/assets/themes/j1/adapter/js/navigator.js +716 -72
  61. data/assets/themes/j1/adapter/js/nbinteract.js +10 -8
  62. data/assets/themes/j1/adapter/js/rangeSlider.js +3 -1
  63. data/assets/themes/j1/adapter/js/rouge.js +7 -0
  64. data/assets/themes/j1/adapter/js/rtable.js +3 -1
  65. data/assets/themes/j1/adapter/js/rtextResizer.js +2 -1
  66. data/assets/themes/j1/adapter/js/scroller.js +2 -0
  67. data/assets/themes/j1/adapter/js/themer.js +26 -34
  68. data/assets/themes/j1/adapter/js/toccer.js +24 -78
  69. data/assets/themes/j1/adapter/js/translator.js +3 -1
  70. data/assets/themes/j1/core/css/animate.css +1282 -504
  71. data/assets/themes/j1/core/css/animate.min.css +1 -1
  72. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +1938 -1379
  73. data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +3 -3
  74. data/assets/themes/j1/core/css/themes/theme_vapor/bootstrap.css +1939 -1380
  75. data/assets/themes/j1/core/css/themes/theme_vapor/bootstrap.min.css +3 -3
  76. data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +2189 -1486
  77. data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +3 -3
  78. data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +2168 -1502
  79. data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +10 -9
  80. data/assets/themes/j1/core/js/template.js +3 -3
  81. data/assets/themes/j1/core/js/template.min.js +1 -1
  82. data/assets/themes/j1/core/js/template.min.js.map +1 -1
  83. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.js +2 -2
  84. data/assets/themes/j1/modules/cookieConsent/js/cookieConsent.min.js +1 -1
  85. data/assets/themes/j1/modules/lightbox/js/lightbox.js +1 -1
  86. data/assets/themes/j1/modules/lightbox/js/lightbox.min.js +1 -1
  87. data/assets/themes/j1/modules/masterslider/css/blank.gif +0 -0
  88. data/assets/themes/j1/modules/masterslider/css/common/grab.cur +0 -0
  89. data/assets/themes/j1/modules/masterslider/css/common/grab.png +0 -0
  90. data/assets/themes/j1/modules/masterslider/css/common/grabbing.cur +0 -0
  91. data/assets/themes/j1/modules/masterslider/css/common/grabbing.png +0 -0
  92. data/assets/themes/j1/modules/masterslider/css/common/loading-1-dark.gif +0 -0
  93. data/assets/themes/j1/modules/masterslider/css/common/loading-1.gif +0 -0
  94. data/assets/themes/j1/modules/masterslider/css/common/loading-2-dark.gif +0 -0
  95. data/assets/themes/j1/modules/masterslider/css/common/loading-2-light.gif +0 -0
  96. data/assets/themes/j1/modules/masterslider/css/common/loading-2.gif +0 -0
  97. data/assets/themes/j1/modules/masterslider/css/common/video-close-btn.png +0 -0
  98. data/assets/themes/j1/modules/masterslider/css/masterslider.css +2637 -0
  99. data/assets/themes/j1/modules/masterslider/css/masterslider.min.css +2655 -0
  100. data/assets/themes/j1/modules/masterslider/css/skins/black-skin-1-retina.png +0 -0
  101. data/assets/themes/j1/modules/masterslider/css/skins/black-skin-1.png +0 -0
  102. data/assets/themes/j1/modules/masterslider/css/skins/black-skin-2-retina.png +0 -0
  103. data/assets/themes/j1/modules/masterslider/css/skins/black-skin-2.png +0 -0
  104. data/assets/themes/j1/modules/masterslider/css/skins/contrast-skin-retina.png +0 -0
  105. data/assets/themes/j1/modules/masterslider/css/skins/contrast-skin.png +0 -0
  106. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-1-retina.png +0 -0
  107. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-1.png +0 -0
  108. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-2-retina.png +0 -0
  109. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-2.png +0 -0
  110. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-3-retina.png +0 -0
  111. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-3.png +0 -0
  112. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-4-retina.png +0 -0
  113. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-4.png +0 -0
  114. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-5-retina.png +0 -0
  115. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-5.png +0 -0
  116. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-6-retina.png +0 -0
  117. data/assets/themes/j1/modules/masterslider/css/skins/light-skin-6.png +0 -0
  118. data/assets/themes/j1/modules/masterslider/css/skins/metro-skin-retina.png +0 -0
  119. data/assets/themes/j1/modules/masterslider/css/skins/metro-skin.png +0 -0
  120. data/assets/themes/j1/modules/masterslider/css/skins/minimal.svg +11 -0
  121. data/assets/themes/j1/modules/masterslider/css/templates/device-skin.png +0 -0
  122. data/assets/themes/j1/modules/masterslider/css/templates/display.png +0 -0
  123. data/assets/themes/j1/modules/masterslider/css/templates/flat-display.png +0 -0
  124. data/assets/themes/j1/modules/masterslider/css/templates/flat-laptop.png +0 -0
  125. data/assets/themes/j1/modules/masterslider/css/templates/flat-phone-land.png +0 -0
  126. data/assets/themes/j1/modules/masterslider/css/templates/flat-phone.png +0 -0
  127. data/assets/themes/j1/modules/masterslider/css/templates/flat-tablet-land.png +0 -0
  128. data/assets/themes/j1/modules/masterslider/css/templates/flat-tablet.png +0 -0
  129. data/assets/themes/j1/modules/masterslider/css/templates/gallery-btns.png +0 -0
  130. data/assets/themes/j1/modules/masterslider/css/templates/laptop.png +0 -0
  131. data/assets/themes/j1/modules/masterslider/css/templates/phone-land.png +0 -0
  132. data/assets/themes/j1/modules/masterslider/css/templates/phone.png +0 -0
  133. data/assets/themes/j1/modules/masterslider/css/templates/staff-arrows.png +0 -0
  134. data/assets/themes/j1/modules/masterslider/css/templates/tablet-land.png +0 -0
  135. data/assets/themes/j1/modules/masterslider/css/templates/tablet.png +0 -0
  136. data/assets/themes/j1/modules/masterslider/css/templates/vertical-arrows.png +0 -0
  137. data/assets/themes/j1/modules/masterslider/css/theme/uno.css +95 -0
  138. data/assets/themes/j1/modules/masterslider/css/theme/uno.min.css +95 -0
  139. data/assets/themes/j1/modules/masterslider/css/themes/ms-skin-sample.css +172 -0
  140. data/assets/themes/j1/modules/masterslider/css/themes/ms-skin-sample.min.css +172 -0
  141. data/assets/themes/j1/modules/masterslider/js/addons/masterslider.flickr.min.js +1 -0
  142. data/assets/themes/j1/modules/masterslider/js/addons/public.js +10 -0
  143. data/assets/themes/j1/modules/masterslider/js/masterslider.js +5544 -0
  144. data/assets/themes/j1/modules/masterslider/js/masterslider.min.js +11 -0
  145. data/assets/themes/j1/modules/masterslider/js/plugins/jquery.easing.js +211 -0
  146. data/assets/themes/j1/modules/masterslider/js/plugins/jquery.easing.min.js +51 -0
  147. data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.css +3 -3
  148. data/assets/themes/j1/modules/mmenuLight/css/theme/uno/mmenu.min.css +1 -1
  149. data/assets/themes/j1/modules/rouge/css/uno.dark/theme.css +11 -11
  150. data/assets/themes/j1/modules/rouge/css/uno.light/theme.css +24 -18
  151. data/assets/themes/j1/modules/translator/js/translator.js +2 -2
  152. data/assets/themes/j1/modules/translator/js/translator.min.js +1 -1
  153. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.js +2 -2
  154. data/assets/themes/j1/modules/twemoji/js/picker/twemoji-picker.min.js +304 -1
  155. data/lib/j1/version.rb +1 -1
  156. data/lib/starter_web/Gemfile +1 -1
  157. data/lib/starter_web/_config.yml +2 -2
  158. data/lib/starter_web/_data/blocks/banner.yml +8 -5
  159. data/lib/starter_web/_data/blocks/footer.yml +1 -1
  160. data/lib/starter_web/_data/modules/attics.yml +16 -4
  161. data/lib/starter_web/_data/modules/defaults/attics.yml +12 -5
  162. data/lib/starter_web/_data/modules/defaults/lightbox.yml +1 -1
  163. data/lib/starter_web/_data/modules/defaults/masterslider.yml +235 -0
  164. data/lib/starter_web/_data/modules/defaults/navigator.yml +7 -5
  165. data/lib/starter_web/_data/modules/defaults/toccer.yml +1 -1
  166. data/lib/starter_web/_data/modules/fab.yml +39 -118
  167. data/lib/starter_web/_data/modules/lightbox.yml +4 -2
  168. data/lib/starter_web/_data/modules/masterslider.yml +1153 -0
  169. data/lib/starter_web/_data/modules/navigator_menu.yml +234 -5
  170. data/lib/starter_web/_data/resources.yml +166 -95
  171. data/lib/starter_web/_plugins/asciidoctor-extensions/masterslider-block.rb +47 -0
  172. data/lib/starter_web/_plugins/lunr_index.rb +1 -1
  173. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-1.jpg +0 -0
  174. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-2.jpg +0 -0
  175. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-3.jpg +0 -0
  176. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-4.jpg +0 -0
  177. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-5.jpg +0 -0
  178. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-6.jpg +0 -0
  179. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-7.jpg +0 -0
  180. data/lib/starter_web/assets/images/modules/masterslider/slider_1/cat-8.jpg +0 -0
  181. data/lib/starter_web/assets/images/modules/masterslider/slider_10/panorama-bg-slide1.jpg +0 -0
  182. data/lib/starter_web/assets/images/modules/masterslider/slider_10/panorama-bg-slide2.jpg +0 -0
  183. data/lib/starter_web/assets/images/modules/masterslider/slider_2/andreas-brucker.jpg +0 -0
  184. data/lib/starter_web/assets/images/modules/masterslider/slider_2/denys-nevozhai-1.jpg +0 -0
  185. data/lib/starter_web/assets/images/modules/masterslider/slider_2/denys-nevozhai-2.jpg +0 -0
  186. data/lib/starter_web/assets/images/modules/masterslider/slider_2/luca-bravo.jpg +0 -0
  187. data/lib/starter_web/assets/images/modules/masterslider/slider_2/thomas-tucker.jpg +0 -0
  188. data/lib/starter_web/assets/images/modules/masterslider/slider_3/ms-free-food-family-2.jpg +0 -0
  189. data/lib/starter_web/assets/images/modules/masterslider/slider_3/ms-free-food-hamburger.jpg +0 -0
  190. data/lib/starter_web/assets/images/modules/masterslider/slider_3/ms-free-food-restaurant.jpg +0 -0
  191. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-1-100x80.jpg +0 -0
  192. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-1.jpg +0 -0
  193. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-2-100x80.jpg +0 -0
  194. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-2.jpg +0 -0
  195. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-3-100x80.jpg +0 -0
  196. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-3.jpg +0 -0
  197. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-4-100x80.jpg +0 -0
  198. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-4.jpg +0 -0
  199. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-5-100x80.jpg +0 -0
  200. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-5.jpg +0 -0
  201. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-6-100x80.jpg +0 -0
  202. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-6.jpg +0 -0
  203. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-7-100x80.jpg +0 -0
  204. data/lib/starter_web/assets/images/modules/masterslider/slider_4/ms-free-animals-7.jpg +0 -0
  205. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-family-140x80.jpg +0 -0
  206. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-family-2-140x80.jpg +0 -0
  207. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-family-2.jpg +0 -0
  208. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-family-3-140x80.jpg +0 -0
  209. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-family-3.jpg +0 -0
  210. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-family.jpg +0 -0
  211. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-hamburger-140x80.jpg +0 -0
  212. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-hamburger.jpg +0 -0
  213. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-pizza-140x80.jpg +0 -0
  214. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-pizza.jpg +0 -0
  215. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-restaurant-140x80.jpg +0 -0
  216. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-restaurant.jpg +0 -0
  217. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-man-140x80.jpg +0 -0
  218. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-man.jpg +0 -0
  219. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-woman-140x80.jpg +0 -0
  220. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-single-woman.jpg +0 -0
  221. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-table-140x80.jpg +0 -0
  222. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-table.jpg +0 -0
  223. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-woman-hand-140x80.jpg +0 -0
  224. data/lib/starter_web/assets/images/modules/masterslider/slider_5/ms-free-food-woman-hand.jpg +0 -0
  225. data/lib/starter_web/assets/images/modules/masterslider/slider_6_7/6876385555_74a0d7d7ee_b.jpg +0 -0
  226. data/lib/starter_web/assets/images/modules/masterslider/slider_6_7/6876387431_d86867a3d9_b.jpg +0 -0
  227. data/lib/starter_web/assets/images/modules/masterslider/slider_6_7/6876388511_d618d53455_b.jpg +0 -0
  228. data/lib/starter_web/assets/images/modules/masterslider/slider_6_7/6876389463_db27a377e1_b.jpg +0 -0
  229. data/lib/starter_web/assets/images/modules/masterslider/slider_6_7/6876390339_2e4dd9dbbb_b.jpg +0 -0
  230. data/lib/starter_web/assets/images/modules/masterslider/slider_8/postslider-5-img-1.jpg +0 -0
  231. data/lib/starter_web/assets/images/modules/masterslider/slider_8/postslider-5-img-2.jpg +0 -0
  232. data/lib/starter_web/assets/images/modules/masterslider/slider_8/postslider-5-img-3.jpg +0 -0
  233. data/lib/starter_web/assets/images/modules/masterslider/slider_8/postslider6-bg-slide2-1024x622.jpg +0 -0
  234. data/lib/starter_web/assets/images/modules/masterslider/slider_9/1-2.jpg +0 -0
  235. data/lib/starter_web/assets/images/modules/masterslider/slider_9/5-2.jpg +0 -0
  236. data/lib/starter_web/assets/images/modules/masterslider/slider_9/6-2.jpg +0 -0
  237. data/lib/starter_web/assets/images/modules/masterslider/slider_9/6-3.jpg +0 -0
  238. data/lib/starter_web/assets/images/modules/masterslider/slider_9/8-1.jpg +0 -0
  239. data/lib/starter_web/assets/images/modules/masterslider/slider_9/8.jpg +0 -0
  240. data/lib/starter_web/assets/images/modules/masterslider/unify-examples/charity-white-tile-bg.png +0 -0
  241. data/lib/starter_web/assets/images/modules/masterslider/unify-examples/fashion2-controller-arrow-next.png +0 -0
  242. data/lib/starter_web/assets/images/modules/masterslider/unify-examples/fashion2-controller-arrow-prv.png +0 -0
  243. data/lib/starter_web/assets/images/modules/masterslider/unify-examples/fashion2-img-slide1.jpg +0 -0
  244. data/lib/starter_web/assets/images/modules/masterslider/unify-examples/fashion2-img-slide2.jpg +0 -0
  245. data/lib/starter_web/assets/images/modules/masterslider/unify-examples/fashion2-img-slide3.jpg +0 -0
  246. data/lib/starter_web/assets/images/modules/masterslider/wp-examples/ms-free-business-1.jpg +0 -0
  247. data/lib/starter_web/assets/images/modules/masterslider/wp-examples/ms-free-business-2.jpg +0 -0
  248. data/lib/starter_web/assets/images/modules/masterslider/wp-examples/ms-free-business-3.jpg +0 -0
  249. data/lib/starter_web/index.html +0 -1
  250. data/lib/starter_web/package.json +1 -1
  251. data/lib/starter_web/pages/public/features/general.adoc +1 -1
  252. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_circular_times_table.html +747 -747
  253. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_climate_change_forecast.html +1250 -1250
  254. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_docs_example_dynamic.html +186 -186
  255. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_interactive_widgets.html +512 -512
  256. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets.html +629 -629
  257. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +93 -93
  258. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +70 -70
  259. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +156 -156
  260. data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_odes_in_python.html +955 -955
  261. data/lib/starter_web/pages/public/learn/quickstart.adoc +1 -1
  262. data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +90 -7
  263. data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +1 -1
  264. data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +1 -1
  265. data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +1 -1
  266. data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +1 -1
  267. data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +1 -1
  268. data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +1 -1
  269. data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +1 -1
  270. data/lib/starter_web/pages/public/learn/roundtrip/600_quicksearch.adoc +1 -1
  271. data/lib/starter_web/pages/public/legal/de/100_copyright.adoc +1 -1
  272. data/lib/starter_web/pages/public/legal/de/100_impress.adoc +1 -1
  273. data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +1 -1
  274. data/lib/starter_web/pages/public/legal/de/400_comment_policy.adoc +1 -1
  275. data/lib/starter_web/pages/public/legal/en/100_copyright.adoc +1 -1
  276. data/lib/starter_web/pages/public/legal/en/200_impress.adoc +1 -1
  277. data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +1 -1
  278. data/lib/starter_web/pages/public/legal/en/400_comment_policy.adoc +1 -1
  279. data/lib/starter_web/pages/public/panels/intro_panel/panel.adoc +1 -1
  280. data/lib/starter_web/pages/public/plans/plans.adoc +1 -1
  281. data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +143 -132
  282. data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
  283. data/lib/starter_web/utilsrv/package.json +1 -1
  284. metadata +143 -3
  285. data/_includes/themes/j1/procedures/global/create_bs_button.1.proc +0 -172
@@ -1,512 +1,512 @@
1
- <div class="cell text_cell">
2
- <button class="js-nbinteract-widget">
3
- Loading widgets...
4
- </button>
5
- </div>
6
-
7
-
8
-
9
-
10
-
11
-
12
- <div class="
13
- cell border-box-sizing code_cell rendered">
14
- <div class="input">
15
-
16
- <div class="inner_cell">
17
- <div class="input_area">
18
- <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
19
- <span class="kn">import</span> <span class="nn">matplotlib.gridspec</span> <span class="k">as</span> <span class="nn">gridspec</span>
20
- <span class="kn">import</span> <span class="nn">ipywidgets</span> <span class="k">as</span> <span class="nn">widgets</span>
21
- <span class="kn">from</span> <span class="nn">ipywidgets</span> <span class="kn">import</span> <span class="n">interact</span><span class="p">,</span> <span class="n">Layout</span><span class="p">,</span> <span class="n">IntSlider</span><span class="p">,</span> <span class="n">FloatSlider</span>
22
- <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
23
- <span class="kn">from</span> <span class="nn">numpy</span> <span class="kn">import</span> <span class="n">arange</span><span class="p">,</span><span class="n">sin</span><span class="p">,</span><span class="n">pi</span>
24
- </pre></div>
25
-
26
- </div>
27
- </div>
28
- </div>
29
-
30
- </div>
31
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
32
- <div class="text_cell_render border-box-sizing rendered_html">
33
- <h3 id="IntSlider-for-interactive-calculation">IntSlider for interactive calculation<a class="anchor-link" href="#IntSlider-for-interactive-calculation">&#182;</a></h3>
34
- </div>
35
- </div>
36
- </div>
37
-
38
-
39
-
40
- <div class="
41
- cell border-box-sizing code_cell rendered">
42
- <div class="input">
43
-
44
- <div class="inner_cell">
45
- <div class="input_area">
46
- <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">printf</span><span class="p">(</span><span class="nb">str</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">):</span>
47
- <span class="nb">print</span><span class="p">(</span><span class="nb">str</span> <span class="o">%</span> <span class="n">args</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
48
-
49
- <span class="c1"># Define the square function</span>
50
- <span class="c1">#</span>
51
- <span class="k">def</span> <span class="nf">square</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
52
- <span class="n">result</span> <span class="o">=</span> <span class="n">x</span> <span class="o">*</span> <span class="n">x</span>
53
-
54
- <span class="c1"># print short notice above the result value</span>
55
- <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Result of square(</span><span class="si">{</span><span class="n">x</span><span class="si">}</span><span class="s1">) is:&#39;</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
56
-
57
- <span class="k">return</span> <span class="n">result</span>
58
-
59
- <span class="c1"># Simple interact widget from ipywidgets</span>
60
- <span class="c1">#</span>
61
- <span class="n">interact</span> <span class="o">=</span> <span class="n">interact</span><span class="p">(</span>
62
- <span class="n">square</span><span class="p">,</span>
63
- <span class="n">x</span><span class="o">=</span><span class="n">IntSlider</span><span class="p">(</span>
64
- <span class="n">value</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span>
65
- <span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
66
- <span class="nb">max</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
67
- <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
68
- <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Slider value:&#39;</span><span class="p">,</span>
69
- <span class="n">layout</span><span class="o">=</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">&#39;99%&#39;</span><span class="p">)</span>
70
- <span class="p">)</span>
71
- <span class="p">);</span>
72
-
73
- <span class="c1"># the semicolon &#39;;&#39; suppress the output</span>
74
- <span class="c1"># of the code execution</span>
75
- <span class="c1">#</span>
76
- <span class="n">interact</span><span class="p">;</span>
77
- </pre></div>
78
-
79
- </div>
80
- </div>
81
- </div>
82
-
83
- <div class="output_wrapper">
84
- <div class="output">
85
-
86
-
87
- <div class="output_area">
88
-
89
-
90
-
91
-
92
-
93
- <div class="output_subarea output_widget_view ">
94
- <button class="js-nbinteract-widget">
95
- Loading widgets...
96
- </button>
97
- </div>
98
-
99
- </div>
100
-
101
- </div>
102
- </div>
103
-
104
- </div>
105
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
106
- <div class="text_cell_render border-box-sizing rendered_html">
107
- <h3 id="FloatSlider-for-interactive-plotting">FloatSlider for interactive plotting<a class="anchor-link" href="#FloatSlider-for-interactive-plotting">&#182;</a></h3>
108
- </div>
109
- </div>
110
- </div>
111
-
112
-
113
-
114
- <div class="
115
- cell border-box-sizing code_cell rendered">
116
- <div class="input">
117
-
118
- <div class="inner_cell">
119
- <div class="input_area">
120
- <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Define the plot function </span>
121
- <span class="c1">#</span>
122
- <span class="k">def</span> <span class="nf">myplot</span><span class="p">(</span><span class="n">xv</span><span class="p">):</span>
123
- <span class="c1"># calculate x as evenly spaced values within a interval 0 .. xv</span>
124
- <span class="n">x</span> <span class="o">=</span> <span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">xv</span><span class="p">,</span> <span class="mf">0.01</span><span class="p">)</span>
125
- <span class="c1"># the plot function</span>
126
- <span class="n">y</span> <span class="o">=</span> <span class="n">sin</span><span class="p">(</span><span class="n">pi</span><span class="o">*</span><span class="n">x</span><span class="p">)</span>
127
-
128
- <span class="c1"># NOTE: Matplotlib doesn&#39;t work with pixels directly, but rather</span>
129
- <span class="c1"># physical sizes (inch) and DPI. To use pixels for the figures</span>
130
- <span class="c1"># figsize, the DPI of the monitor must be used for re-calculation</span>
131
- <span class="c1">#</span>
132
- <span class="c1"># See: https://www.infobyip.com/detectmonitordpi.php</span>
133
-
134
- <span class="c1"># DPI of common monitors</span>
135
- <span class="n">my_dpi</span><span class="o">=</span><span class="mi">96</span>
136
-
137
- <span class="c1"># figsize: width|height recalculated from inch to pixels</span>
138
- <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">800</span><span class="o">/</span><span class="n">my_dpi</span><span class="p">,</span> <span class="mi">400</span><span class="o">/</span><span class="n">my_dpi</span><span class="p">),</span> <span class="n">dpi</span><span class="o">=</span><span class="n">my_dpi</span><span class="p">)</span>
139
-
140
- <span class="c1"># set the grid lines (light-gray)</span>
141
- <span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="s1">&#39;x&#39;</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;#E0E0E0&#39;</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s1">&#39;--&#39;</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">2</span><span class="p">),</span>
142
- <span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="s1">&#39;y&#39;</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;#E0E0E0&#39;</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s1">&#39;-&#39;</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">2</span><span class="p">),</span>
143
-
144
- <span class="c1"># set the axis labels</span>
145
- <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;x-values&#39;</span><span class="p">),</span>
146
- <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;y-values&#39;</span><span class="p">),</span>
147
-
148
- <span class="c1"># set the plot title</span>
149
- <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Simple plot function based on sin(x)&#39;</span><span class="p">),</span>
150
-
151
- <span class="c1"># define the plot</span>
152
- <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span>
153
-
154
-
155
- <span class="c1"># Create an interactive widget for the plot using interact</span>
156
- <span class="c1">#</span>
157
- <span class="n">interact</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span>
158
- <span class="n">myplot</span><span class="p">,</span>
159
- <span class="n">xv</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">FloatSlider</span><span class="p">(</span>
160
- <span class="n">value</span><span class="o">=</span><span class="n">pi</span><span class="p">,</span>
161
- <span class="nb">min</span><span class="o">=</span><span class="p">(</span><span class="n">pi</span><span class="p">),</span>
162
- <span class="nb">max</span><span class="o">=</span><span class="p">(</span><span class="mi">4</span><span class="o">*</span><span class="n">pi</span><span class="p">),</span>
163
- <span class="n">step</span><span class="o">=</span><span class="mf">0.01</span><span class="p">,</span>
164
- <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Value (x):&#39;</span><span class="p">,</span>
165
- <span class="n">layout</span><span class="o">=</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">&#39;99%&#39;</span><span class="p">)</span>
166
- <span class="p">)</span>
167
- <span class="p">)</span>
168
-
169
- <span class="c1"># the semicolon &#39;;&#39; suppress the output</span>
170
- <span class="c1"># of the code execution</span>
171
- <span class="c1">#</span>
172
- <span class="n">interact</span><span class="p">;</span>
173
- </pre></div>
174
-
175
- </div>
176
- </div>
177
- </div>
178
-
179
- <div class="output_wrapper">
180
- <div class="output">
181
-
182
-
183
- <div class="output_area">
184
-
185
-
186
-
187
-
188
-
189
- <div class="output_subarea output_widget_view ">
190
- <button class="js-nbinteract-widget">
191
- Loading widgets...
192
- </button>
193
- </div>
194
-
195
- </div>
196
-
197
- </div>
198
- </div>
199
-
200
- </div>
201
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
202
- <div class="text_cell_render border-box-sizing rendered_html">
203
- <h3 id="Select-box">Select box<a class="anchor-link" href="#Select-box">&#182;</a></h3>
204
- </div>
205
- </div>
206
- </div>
207
-
208
-
209
-
210
- <div class="
211
- cell border-box-sizing code_cell rendered">
212
- <div class="input">
213
-
214
- <div class="inner_cell">
215
- <div class="input_area">
216
- <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">say_my_name</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
217
- <span class="sd">&quot;&quot;&quot;</span>
218
- <span class="sd"> Print the current widget value in short sentence</span>
219
- <span class="sd"> &quot;&quot;&quot;</span>
220
- <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;My name is </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span>
221
-
222
-
223
- <span class="n">widgets</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span>
224
- <span class="n">say_my_name</span><span class="p">,</span>
225
- <span class="n">name</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;Jim&quot;</span><span class="p">,</span> <span class="s2">&quot;Emma&quot;</span><span class="p">,</span> <span class="s2">&quot;Bond&quot;</span><span class="p">]</span>
226
- <span class="p">);</span>
227
- </pre></div>
228
-
229
- </div>
230
- </div>
231
- </div>
232
-
233
- <div class="output_wrapper">
234
- <div class="output">
235
-
236
-
237
- <div class="output_area">
238
-
239
-
240
-
241
-
242
-
243
- <div class="output_subarea output_widget_view ">
244
- <button class="js-nbinteract-widget">
245
- Loading widgets...
246
- </button>
247
- </div>
248
-
249
- </div>
250
-
251
- </div>
252
- </div>
253
-
254
- </div>
255
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
256
- <div class="text_cell_render border-box-sizing rendered_html">
257
- <h3 id="Combined-widgets">Combined widgets<a class="anchor-link" href="#Combined-widgets">&#182;</a></h3>
258
- </div>
259
- </div>
260
- </div>
261
-
262
-
263
-
264
- <div class="
265
- cell border-box-sizing code_cell rendered">
266
- <div class="input">
267
-
268
- <div class="inner_cell">
269
- <div class="input_area">
270
- <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">widget_says</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
271
- <span class="sd">&quot;&quot;&quot;</span>
272
- <span class="sd"> Print the current widget value in short sentence</span>
273
- <span class="sd"> &quot;&quot;&quot;</span>
274
- <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Widget says: </span><span class="si">{</span><span class="n">x</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span>
275
-
276
-
277
- <span class="n">widgets</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span><span class="n">widget_says</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">])</span>
278
- <span class="n">widgets</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span><span class="n">widget_says</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span>
279
- <span class="n">widgets</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span><span class="n">widget_says</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mf">.5</span><span class="p">))</span>
280
-
281
- <span class="c1"># the variable underscore (&#39;_&#39;)) returns the output</span>
282
- <span class="c1"># of the latest code execution</span>
283
- <span class="c1">#</span>
284
- <span class="n">_</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span><span class="n">widget_says</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
285
- </pre></div>
286
-
287
- </div>
288
- </div>
289
- </div>
290
-
291
- <div class="output_wrapper">
292
- <div class="output">
293
-
294
-
295
- <div class="output_area">
296
-
297
-
298
-
299
-
300
-
301
- <div class="output_subarea output_widget_view ">
302
- <button class="js-nbinteract-widget">
303
- Loading widgets...
304
- </button>
305
- </div>
306
-
307
- </div>
308
-
309
- <div class="output_area">
310
-
311
-
312
-
313
-
314
-
315
- <div class="output_subarea output_widget_view ">
316
- <button class="js-nbinteract-widget">
317
- Loading widgets...
318
- </button>
319
- </div>
320
-
321
- </div>
322
-
323
- <div class="output_area">
324
-
325
-
326
-
327
-
328
-
329
- <div class="output_subarea output_widget_view ">
330
- <button class="js-nbinteract-widget">
331
- Loading widgets...
332
- </button>
333
- </div>
334
-
335
- </div>
336
-
337
- <div class="output_area">
338
-
339
-
340
-
341
-
342
-
343
- <div class="output_subarea output_widget_view ">
344
- <button class="js-nbinteract-widget">
345
- Loading widgets...
346
- </button>
347
- </div>
348
-
349
- </div>
350
-
351
- </div>
352
- </div>
353
-
354
- </div>
355
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
356
- <div class="text_cell_render border-box-sizing rendered_html">
357
- <h3 id="Complex-widget-configs">Complex widget configs<a class="anchor-link" href="#Complex-widget-configs">&#182;</a></h3>
358
- </div>
359
- </div>
360
- </div>
361
-
362
-
363
-
364
- <div class="
365
- cell border-box-sizing code_cell rendered">
366
- <div class="input">
367
-
368
- <div class="inner_cell">
369
- <div class="input_area">
370
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">int_slider</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">IntSlider</span><span class="p">(</span>
371
- <span class="n">value</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span>
372
- <span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
373
- <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Slider&#39;</span><span class="p">,</span>
374
- <span class="n">layout</span><span class="o">=</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">&#39;99%&#39;</span><span class="p">)</span>
375
- <span class="p">)</span>
376
-
377
- <span class="n">int_range_slider</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">IntRangeSlider</span><span class="p">(</span>
378
- <span class="n">value</span><span class="o">=</span><span class="p">(</span><span class="mi">20</span><span class="p">,</span> <span class="mi">40</span><span class="p">),</span>
379
- <span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
380
- <span class="nb">max</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span>
381
- <span class="n">step</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
382
- <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Range Slider&#39;</span><span class="p">,</span>
383
- <span class="n">layout</span><span class="o">=</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">&#39;99%&#39;</span><span class="p">)</span>
384
- <span class="p">)</span>
385
-
386
- <span class="n">dropdown</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">Dropdown</span><span class="p">(</span>
387
- <span class="n">value</span><span class="o">=</span><span class="s1">&#39;Feb&#39;</span><span class="p">,</span>
388
- <span class="n">options</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;Jan&#39;</span><span class="p">,</span> <span class="s1">&#39;Feb&#39;</span><span class="p">,</span> <span class="s1">&#39;Mar&#39;</span><span class="p">,</span> <span class="s1">&#39;Apr&#39;</span><span class="p">],</span>
389
- <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Dropdown&#39;</span>
390
- <span class="p">)</span>
391
-
392
- <span class="n">radiobuttons</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">RadioButtons</span><span class="p">(</span>
393
- <span class="n">value</span><span class="o">=</span><span class="s1">&#39;Feb&#39;</span><span class="p">,</span>
394
- <span class="n">options</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;Jan&#39;</span><span class="p">,</span> <span class="s1">&#39;Feb&#39;</span><span class="p">,</span> <span class="s1">&#39;Mar&#39;</span><span class="p">,</span> <span class="s1">&#39;Apr&#39;</span><span class="p">],</span>
395
- <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Radio Buttons&#39;</span>
396
- <span class="p">)</span>
397
-
398
- <span class="n">combobox</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">Combobox</span><span class="p">(</span>
399
- <span class="n">placeholder</span><span class="o">=</span><span class="s1">&#39;start typing... (e.g. L or o)&#39;</span><span class="p">,</span>
400
- <span class="n">options</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;Amsterdam&#39;</span><span class="p">,</span> <span class="s1">&#39;Athens&#39;</span><span class="p">,</span> <span class="s1">&#39;Lisbon&#39;</span><span class="p">,</span> <span class="s1">&#39;London&#39;</span><span class="p">,</span> <span class="s1">&#39;Ljubljana&#39;</span><span class="p">],</span>
401
- <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Combo Box&#39;</span>
402
- <span class="p">)</span>
403
-
404
- <span class="n">checkbox</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">Checkbox</span><span class="p">(</span>
405
- <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Checkbox&#39;</span><span class="p">,</span>
406
- <span class="n">value</span><span class="o">=</span><span class="kc">True</span>
407
- <span class="p">)</span>
408
-
409
-
410
- <span class="c1"># VBox container to pack all widgets vertically</span>
411
- <span class="c1">#</span>
412
- <span class="n">widgets</span><span class="o">.</span><span class="n">VBox</span><span class="p">([</span>
413
- <span class="n">int_slider</span><span class="p">,</span>
414
- <span class="n">int_range_slider</span><span class="p">,</span>
415
- <span class="n">dropdown</span><span class="p">,</span>
416
- <span class="n">radiobuttons</span><span class="p">,</span>
417
- <span class="n">checkbox</span><span class="p">,</span>
418
- <span class="n">combobox</span><span class="p">,</span>
419
- <span class="p">])</span>
420
- </pre></div>
421
-
422
- </div>
423
- </div>
424
- </div>
425
-
426
- <div class="output_wrapper">
427
- <div class="output">
428
-
429
-
430
- <div class="output_area">
431
-
432
-
433
-
434
-
435
-
436
- <div class="output_subarea output_widget_view ">
437
- <button class="js-nbinteract-widget">
438
- Loading widgets...
439
- </button>
440
- </div>
441
-
442
- </div>
443
-
444
- </div>
445
- </div>
446
-
447
- </div>
448
- <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
449
- <div class="text_cell_render border-box-sizing rendered_html">
450
- <h3 id="Connected-sliders">Connected sliders<a class="anchor-link" href="#Connected-sliders">&#182;</a></h3>
451
- </div>
452
- </div>
453
- </div>
454
-
455
-
456
-
457
- <div class="
458
- cell border-box-sizing code_cell rendered">
459
- <div class="input">
460
-
461
- <div class="inner_cell">
462
- <div class="input_area">
463
- <div class=" highlight hl-ipython3"><pre><span></span><span class="n">sl1</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">IntSlider</span><span class="p">(</span>
464
- <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Slider 1&#39;</span><span class="p">,</span>
465
- <span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
466
- <span class="nb">max</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
467
- <span class="n">layout</span><span class="o">=</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">&#39;99%&#39;</span><span class="p">)</span>
468
- <span class="p">)</span>
469
- <span class="n">sl2</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">IntSlider</span><span class="p">(</span>
470
- <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Slider 2&#39;</span><span class="p">,</span>
471
- <span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
472
- <span class="nb">max</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
473
- <span class="n">layout</span><span class="o">=</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">&#39;99%&#39;</span><span class="p">)</span>
474
- <span class="p">)</span>
475
- <span class="n">link</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">link</span><span class="p">(</span>
476
- <span class="p">(</span><span class="n">sl1</span><span class="p">,</span> <span class="s1">&#39;value&#39;</span><span class="p">),</span>
477
- <span class="p">(</span><span class="n">sl2</span><span class="p">,</span> <span class="s1">&#39;min&#39;</span><span class="p">)</span>
478
- <span class="p">)</span>
479
-
480
- <span class="n">sl1</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="mi">5</span>
481
- <span class="n">widgets</span><span class="o">.</span><span class="n">VBox</span><span class="p">([</span>
482
- <span class="n">sl1</span><span class="p">,</span> <span class="n">sl2</span>
483
- <span class="p">])</span>
484
- </pre></div>
485
-
486
- </div>
487
- </div>
488
- </div>
489
-
490
- <div class="output_wrapper">
491
- <div class="output">
492
-
493
-
494
- <div class="output_area">
495
-
496
-
497
-
498
-
499
-
500
- <div class="output_subarea output_widget_view ">
501
- <button class="js-nbinteract-widget">
502
- Loading widgets...
503
- </button>
504
- </div>
505
-
506
- </div>
507
-
508
- </div>
509
- </div>
510
-
511
- </div>
512
-
1
+ <div class="cell text_cell">
2
+ <button class="js-nbinteract-widget">
3
+ Loading widgets...
4
+ </button>
5
+ </div>
6
+
7
+
8
+
9
+
10
+
11
+
12
+ <div class="
13
+ cell border-box-sizing code_cell rendered">
14
+ <div class="input">
15
+
16
+ <div class="inner_cell">
17
+ <div class="input_area">
18
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="k">as</span> <span class="nn">plt</span>
19
+ <span class="kn">import</span> <span class="nn">matplotlib.gridspec</span> <span class="k">as</span> <span class="nn">gridspec</span>
20
+ <span class="kn">import</span> <span class="nn">ipywidgets</span> <span class="k">as</span> <span class="nn">widgets</span>
21
+ <span class="kn">from</span> <span class="nn">ipywidgets</span> <span class="kn">import</span> <span class="n">interact</span><span class="p">,</span> <span class="n">Layout</span><span class="p">,</span> <span class="n">IntSlider</span><span class="p">,</span> <span class="n">FloatSlider</span>
22
+ <span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
23
+ <span class="kn">from</span> <span class="nn">numpy</span> <span class="kn">import</span> <span class="n">arange</span><span class="p">,</span><span class="n">sin</span><span class="p">,</span><span class="n">pi</span>
24
+ </pre></div>
25
+
26
+ </div>
27
+ </div>
28
+ </div>
29
+
30
+ </div>
31
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
32
+ <div class="text_cell_render border-box-sizing rendered_html">
33
+ <h3 id="IntSlider-for-interactive-calculation">IntSlider for interactive calculation<a class="anchor-link" href="#IntSlider-for-interactive-calculation">&#182;</a></h3>
34
+ </div>
35
+ </div>
36
+ </div>
37
+
38
+
39
+
40
+ <div class="
41
+ cell border-box-sizing code_cell rendered">
42
+ <div class="input">
43
+
44
+ <div class="inner_cell">
45
+ <div class="input_area">
46
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">printf</span><span class="p">(</span><span class="nb">str</span><span class="p">,</span> <span class="o">*</span><span class="n">args</span><span class="p">):</span>
47
+ <span class="nb">print</span><span class="p">(</span><span class="nb">str</span> <span class="o">%</span> <span class="n">args</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
48
+
49
+ <span class="c1"># Define the square function</span>
50
+ <span class="c1">#</span>
51
+ <span class="k">def</span> <span class="nf">square</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
52
+ <span class="n">result</span> <span class="o">=</span> <span class="n">x</span> <span class="o">*</span> <span class="n">x</span>
53
+
54
+ <span class="c1"># print short notice above the result value</span>
55
+ <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Result of square(</span><span class="si">{</span><span class="n">x</span><span class="si">}</span><span class="s1">) is:&#39;</span><span class="p">,</span> <span class="n">end</span><span class="o">=</span><span class="s1">&#39;&#39;</span><span class="p">)</span>
56
+
57
+ <span class="k">return</span> <span class="n">result</span>
58
+
59
+ <span class="c1"># Simple interact widget from ipywidgets</span>
60
+ <span class="c1">#</span>
61
+ <span class="n">interact</span> <span class="o">=</span> <span class="n">interact</span><span class="p">(</span>
62
+ <span class="n">square</span><span class="p">,</span>
63
+ <span class="n">x</span><span class="o">=</span><span class="n">IntSlider</span><span class="p">(</span>
64
+ <span class="n">value</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span>
65
+ <span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
66
+ <span class="nb">max</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
67
+ <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
68
+ <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Slider value:&#39;</span><span class="p">,</span>
69
+ <span class="n">layout</span><span class="o">=</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">&#39;99%&#39;</span><span class="p">)</span>
70
+ <span class="p">)</span>
71
+ <span class="p">);</span>
72
+
73
+ <span class="c1"># the semicolon &#39;;&#39; suppress the output</span>
74
+ <span class="c1"># of the code execution</span>
75
+ <span class="c1">#</span>
76
+ <span class="n">interact</span><span class="p">;</span>
77
+ </pre></div>
78
+
79
+ </div>
80
+ </div>
81
+ </div>
82
+
83
+ <div class="output_wrapper">
84
+ <div class="output">
85
+
86
+
87
+ <div class="output_area">
88
+
89
+
90
+
91
+
92
+
93
+ <div class="output_subarea output_widget_view ">
94
+ <button class="js-nbinteract-widget">
95
+ Loading widgets...
96
+ </button>
97
+ </div>
98
+
99
+ </div>
100
+
101
+ </div>
102
+ </div>
103
+
104
+ </div>
105
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
106
+ <div class="text_cell_render border-box-sizing rendered_html">
107
+ <h3 id="FloatSlider-for-interactive-plotting">FloatSlider for interactive plotting<a class="anchor-link" href="#FloatSlider-for-interactive-plotting">&#182;</a></h3>
108
+ </div>
109
+ </div>
110
+ </div>
111
+
112
+
113
+
114
+ <div class="
115
+ cell border-box-sizing code_cell rendered">
116
+ <div class="input">
117
+
118
+ <div class="inner_cell">
119
+ <div class="input_area">
120
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="c1"># Define the plot function </span>
121
+ <span class="c1">#</span>
122
+ <span class="k">def</span> <span class="nf">myplot</span><span class="p">(</span><span class="n">xv</span><span class="p">):</span>
123
+ <span class="c1"># calculate x as evenly spaced values within a interval 0 .. xv</span>
124
+ <span class="n">x</span> <span class="o">=</span> <span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">xv</span><span class="p">,</span> <span class="mf">0.01</span><span class="p">)</span>
125
+ <span class="c1"># the plot function</span>
126
+ <span class="n">y</span> <span class="o">=</span> <span class="n">sin</span><span class="p">(</span><span class="n">pi</span><span class="o">*</span><span class="n">x</span><span class="p">)</span>
127
+
128
+ <span class="c1"># NOTE: Matplotlib doesn&#39;t work with pixels directly, but rather</span>
129
+ <span class="c1"># physical sizes (inch) and DPI. To use pixels for the figures</span>
130
+ <span class="c1"># figsize, the DPI of the monitor must be used for re-calculation</span>
131
+ <span class="c1">#</span>
132
+ <span class="c1"># See: https://www.infobyip.com/detectmonitordpi.php</span>
133
+
134
+ <span class="c1"># DPI of common monitors</span>
135
+ <span class="n">my_dpi</span><span class="o">=</span><span class="mi">96</span>
136
+
137
+ <span class="c1"># figsize: width|height recalculated from inch to pixels</span>
138
+ <span class="n">plt</span><span class="o">.</span><span class="n">figure</span><span class="p">(</span><span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">800</span><span class="o">/</span><span class="n">my_dpi</span><span class="p">,</span> <span class="mi">400</span><span class="o">/</span><span class="n">my_dpi</span><span class="p">),</span> <span class="n">dpi</span><span class="o">=</span><span class="n">my_dpi</span><span class="p">)</span>
139
+
140
+ <span class="c1"># set the grid lines (light-gray)</span>
141
+ <span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="s1">&#39;x&#39;</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;#E0E0E0&#39;</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s1">&#39;--&#39;</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">2</span><span class="p">),</span>
142
+ <span class="n">plt</span><span class="o">.</span><span class="n">grid</span><span class="p">(</span><span class="n">axis</span><span class="o">=</span><span class="s1">&#39;y&#39;</span><span class="p">,</span> <span class="n">color</span><span class="o">=</span><span class="s1">&#39;#E0E0E0&#39;</span><span class="p">,</span> <span class="n">linestyle</span><span class="o">=</span><span class="s1">&#39;-&#39;</span><span class="p">,</span> <span class="n">linewidth</span><span class="o">=</span><span class="mi">2</span><span class="p">),</span>
143
+
144
+ <span class="c1"># set the axis labels</span>
145
+ <span class="n">plt</span><span class="o">.</span><span class="n">xlabel</span><span class="p">(</span><span class="s1">&#39;x-values&#39;</span><span class="p">),</span>
146
+ <span class="n">plt</span><span class="o">.</span><span class="n">ylabel</span><span class="p">(</span><span class="s1">&#39;y-values&#39;</span><span class="p">),</span>
147
+
148
+ <span class="c1"># set the plot title</span>
149
+ <span class="n">plt</span><span class="o">.</span><span class="n">title</span><span class="p">(</span><span class="s1">&#39;Simple plot function based on sin(x)&#39;</span><span class="p">),</span>
150
+
151
+ <span class="c1"># define the plot</span>
152
+ <span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">x</span><span class="p">,</span> <span class="n">y</span><span class="p">)</span>
153
+
154
+
155
+ <span class="c1"># Create an interactive widget for the plot using interact</span>
156
+ <span class="c1">#</span>
157
+ <span class="n">interact</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span>
158
+ <span class="n">myplot</span><span class="p">,</span>
159
+ <span class="n">xv</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">FloatSlider</span><span class="p">(</span>
160
+ <span class="n">value</span><span class="o">=</span><span class="n">pi</span><span class="p">,</span>
161
+ <span class="nb">min</span><span class="o">=</span><span class="p">(</span><span class="n">pi</span><span class="p">),</span>
162
+ <span class="nb">max</span><span class="o">=</span><span class="p">(</span><span class="mi">4</span><span class="o">*</span><span class="n">pi</span><span class="p">),</span>
163
+ <span class="n">step</span><span class="o">=</span><span class="mf">0.01</span><span class="p">,</span>
164
+ <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Value (x):&#39;</span><span class="p">,</span>
165
+ <span class="n">layout</span><span class="o">=</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">&#39;99%&#39;</span><span class="p">)</span>
166
+ <span class="p">)</span>
167
+ <span class="p">)</span>
168
+
169
+ <span class="c1"># the semicolon &#39;;&#39; suppress the output</span>
170
+ <span class="c1"># of the code execution</span>
171
+ <span class="c1">#</span>
172
+ <span class="n">interact</span><span class="p">;</span>
173
+ </pre></div>
174
+
175
+ </div>
176
+ </div>
177
+ </div>
178
+
179
+ <div class="output_wrapper">
180
+ <div class="output">
181
+
182
+
183
+ <div class="output_area">
184
+
185
+
186
+
187
+
188
+
189
+ <div class="output_subarea output_widget_view ">
190
+ <button class="js-nbinteract-widget">
191
+ Loading widgets...
192
+ </button>
193
+ </div>
194
+
195
+ </div>
196
+
197
+ </div>
198
+ </div>
199
+
200
+ </div>
201
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
202
+ <div class="text_cell_render border-box-sizing rendered_html">
203
+ <h3 id="Select-box">Select box<a class="anchor-link" href="#Select-box">&#182;</a></h3>
204
+ </div>
205
+ </div>
206
+ </div>
207
+
208
+
209
+
210
+ <div class="
211
+ cell border-box-sizing code_cell rendered">
212
+ <div class="input">
213
+
214
+ <div class="inner_cell">
215
+ <div class="input_area">
216
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">say_my_name</span><span class="p">(</span><span class="n">name</span><span class="p">):</span>
217
+ <span class="sd">&quot;&quot;&quot;</span>
218
+ <span class="sd"> Print the current widget value in short sentence</span>
219
+ <span class="sd"> &quot;&quot;&quot;</span>
220
+ <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;My name is </span><span class="si">{</span><span class="n">name</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span>
221
+
222
+
223
+ <span class="n">widgets</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span>
224
+ <span class="n">say_my_name</span><span class="p">,</span>
225
+ <span class="n">name</span><span class="o">=</span><span class="p">[</span><span class="s2">&quot;Jim&quot;</span><span class="p">,</span> <span class="s2">&quot;Emma&quot;</span><span class="p">,</span> <span class="s2">&quot;Bond&quot;</span><span class="p">]</span>
226
+ <span class="p">);</span>
227
+ </pre></div>
228
+
229
+ </div>
230
+ </div>
231
+ </div>
232
+
233
+ <div class="output_wrapper">
234
+ <div class="output">
235
+
236
+
237
+ <div class="output_area">
238
+
239
+
240
+
241
+
242
+
243
+ <div class="output_subarea output_widget_view ">
244
+ <button class="js-nbinteract-widget">
245
+ Loading widgets...
246
+ </button>
247
+ </div>
248
+
249
+ </div>
250
+
251
+ </div>
252
+ </div>
253
+
254
+ </div>
255
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
256
+ <div class="text_cell_render border-box-sizing rendered_html">
257
+ <h3 id="Combined-widgets">Combined widgets<a class="anchor-link" href="#Combined-widgets">&#182;</a></h3>
258
+ </div>
259
+ </div>
260
+ </div>
261
+
262
+
263
+
264
+ <div class="
265
+ cell border-box-sizing code_cell rendered">
266
+ <div class="input">
267
+
268
+ <div class="inner_cell">
269
+ <div class="input_area">
270
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">widget_says</span><span class="p">(</span><span class="n">x</span><span class="p">):</span>
271
+ <span class="sd">&quot;&quot;&quot;</span>
272
+ <span class="sd"> Print the current widget value in short sentence</span>
273
+ <span class="sd"> &quot;&quot;&quot;</span>
274
+ <span class="nb">print</span><span class="p">(</span><span class="sa">f</span><span class="s1">&#39;Widget says: </span><span class="si">{</span><span class="n">x</span><span class="si">}</span><span class="s1">&#39;</span><span class="p">)</span>
275
+
276
+
277
+ <span class="n">widgets</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span><span class="n">widget_says</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="p">[</span><span class="mi">0</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">])</span>
278
+ <span class="n">widgets</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span><span class="n">widget_says</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mi">1</span><span class="p">))</span>
279
+ <span class="n">widgets</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span><span class="n">widget_says</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="mi">10</span><span class="p">,</span> <span class="mf">.5</span><span class="p">))</span>
280
+
281
+ <span class="c1"># the variable underscore (&#39;_&#39;)) returns the output</span>
282
+ <span class="c1"># of the latest code execution</span>
283
+ <span class="c1">#</span>
284
+ <span class="n">_</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">interact</span><span class="p">(</span><span class="n">widget_says</span><span class="p">,</span> <span class="n">x</span><span class="o">=</span><span class="kc">True</span><span class="p">)</span>
285
+ </pre></div>
286
+
287
+ </div>
288
+ </div>
289
+ </div>
290
+
291
+ <div class="output_wrapper">
292
+ <div class="output">
293
+
294
+
295
+ <div class="output_area">
296
+
297
+
298
+
299
+
300
+
301
+ <div class="output_subarea output_widget_view ">
302
+ <button class="js-nbinteract-widget">
303
+ Loading widgets...
304
+ </button>
305
+ </div>
306
+
307
+ </div>
308
+
309
+ <div class="output_area">
310
+
311
+
312
+
313
+
314
+
315
+ <div class="output_subarea output_widget_view ">
316
+ <button class="js-nbinteract-widget">
317
+ Loading widgets...
318
+ </button>
319
+ </div>
320
+
321
+ </div>
322
+
323
+ <div class="output_area">
324
+
325
+
326
+
327
+
328
+
329
+ <div class="output_subarea output_widget_view ">
330
+ <button class="js-nbinteract-widget">
331
+ Loading widgets...
332
+ </button>
333
+ </div>
334
+
335
+ </div>
336
+
337
+ <div class="output_area">
338
+
339
+
340
+
341
+
342
+
343
+ <div class="output_subarea output_widget_view ">
344
+ <button class="js-nbinteract-widget">
345
+ Loading widgets...
346
+ </button>
347
+ </div>
348
+
349
+ </div>
350
+
351
+ </div>
352
+ </div>
353
+
354
+ </div>
355
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
356
+ <div class="text_cell_render border-box-sizing rendered_html">
357
+ <h3 id="Complex-widget-configs">Complex widget configs<a class="anchor-link" href="#Complex-widget-configs">&#182;</a></h3>
358
+ </div>
359
+ </div>
360
+ </div>
361
+
362
+
363
+
364
+ <div class="
365
+ cell border-box-sizing code_cell rendered">
366
+ <div class="input">
367
+
368
+ <div class="inner_cell">
369
+ <div class="input_area">
370
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">int_slider</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">IntSlider</span><span class="p">(</span>
371
+ <span class="n">value</span><span class="o">=</span><span class="mi">5</span><span class="p">,</span>
372
+ <span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
373
+ <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Slider&#39;</span><span class="p">,</span>
374
+ <span class="n">layout</span><span class="o">=</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">&#39;99%&#39;</span><span class="p">)</span>
375
+ <span class="p">)</span>
376
+
377
+ <span class="n">int_range_slider</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">IntRangeSlider</span><span class="p">(</span>
378
+ <span class="n">value</span><span class="o">=</span><span class="p">(</span><span class="mi">20</span><span class="p">,</span> <span class="mi">40</span><span class="p">),</span>
379
+ <span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
380
+ <span class="nb">max</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span>
381
+ <span class="n">step</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
382
+ <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Range Slider&#39;</span><span class="p">,</span>
383
+ <span class="n">layout</span><span class="o">=</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">&#39;99%&#39;</span><span class="p">)</span>
384
+ <span class="p">)</span>
385
+
386
+ <span class="n">dropdown</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">Dropdown</span><span class="p">(</span>
387
+ <span class="n">value</span><span class="o">=</span><span class="s1">&#39;Feb&#39;</span><span class="p">,</span>
388
+ <span class="n">options</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;Jan&#39;</span><span class="p">,</span> <span class="s1">&#39;Feb&#39;</span><span class="p">,</span> <span class="s1">&#39;Mar&#39;</span><span class="p">,</span> <span class="s1">&#39;Apr&#39;</span><span class="p">],</span>
389
+ <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Dropdown&#39;</span>
390
+ <span class="p">)</span>
391
+
392
+ <span class="n">radiobuttons</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">RadioButtons</span><span class="p">(</span>
393
+ <span class="n">value</span><span class="o">=</span><span class="s1">&#39;Feb&#39;</span><span class="p">,</span>
394
+ <span class="n">options</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;Jan&#39;</span><span class="p">,</span> <span class="s1">&#39;Feb&#39;</span><span class="p">,</span> <span class="s1">&#39;Mar&#39;</span><span class="p">,</span> <span class="s1">&#39;Apr&#39;</span><span class="p">],</span>
395
+ <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Radio Buttons&#39;</span>
396
+ <span class="p">)</span>
397
+
398
+ <span class="n">combobox</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">Combobox</span><span class="p">(</span>
399
+ <span class="n">placeholder</span><span class="o">=</span><span class="s1">&#39;start typing... (e.g. L or o)&#39;</span><span class="p">,</span>
400
+ <span class="n">options</span><span class="o">=</span><span class="p">[</span><span class="s1">&#39;Amsterdam&#39;</span><span class="p">,</span> <span class="s1">&#39;Athens&#39;</span><span class="p">,</span> <span class="s1">&#39;Lisbon&#39;</span><span class="p">,</span> <span class="s1">&#39;London&#39;</span><span class="p">,</span> <span class="s1">&#39;Ljubljana&#39;</span><span class="p">],</span>
401
+ <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Combo Box&#39;</span>
402
+ <span class="p">)</span>
403
+
404
+ <span class="n">checkbox</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">Checkbox</span><span class="p">(</span>
405
+ <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Checkbox&#39;</span><span class="p">,</span>
406
+ <span class="n">value</span><span class="o">=</span><span class="kc">True</span>
407
+ <span class="p">)</span>
408
+
409
+
410
+ <span class="c1"># VBox container to pack all widgets vertically</span>
411
+ <span class="c1">#</span>
412
+ <span class="n">widgets</span><span class="o">.</span><span class="n">VBox</span><span class="p">([</span>
413
+ <span class="n">int_slider</span><span class="p">,</span>
414
+ <span class="n">int_range_slider</span><span class="p">,</span>
415
+ <span class="n">dropdown</span><span class="p">,</span>
416
+ <span class="n">radiobuttons</span><span class="p">,</span>
417
+ <span class="n">checkbox</span><span class="p">,</span>
418
+ <span class="n">combobox</span><span class="p">,</span>
419
+ <span class="p">])</span>
420
+ </pre></div>
421
+
422
+ </div>
423
+ </div>
424
+ </div>
425
+
426
+ <div class="output_wrapper">
427
+ <div class="output">
428
+
429
+
430
+ <div class="output_area">
431
+
432
+
433
+
434
+
435
+
436
+ <div class="output_subarea output_widget_view ">
437
+ <button class="js-nbinteract-widget">
438
+ Loading widgets...
439
+ </button>
440
+ </div>
441
+
442
+ </div>
443
+
444
+ </div>
445
+ </div>
446
+
447
+ </div>
448
+ <div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
449
+ <div class="text_cell_render border-box-sizing rendered_html">
450
+ <h3 id="Connected-sliders">Connected sliders<a class="anchor-link" href="#Connected-sliders">&#182;</a></h3>
451
+ </div>
452
+ </div>
453
+ </div>
454
+
455
+
456
+
457
+ <div class="
458
+ cell border-box-sizing code_cell rendered">
459
+ <div class="input">
460
+
461
+ <div class="inner_cell">
462
+ <div class="input_area">
463
+ <div class=" highlight hl-ipython3"><pre><span></span><span class="n">sl1</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">IntSlider</span><span class="p">(</span>
464
+ <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Slider 1&#39;</span><span class="p">,</span>
465
+ <span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
466
+ <span class="nb">max</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
467
+ <span class="n">layout</span><span class="o">=</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">&#39;99%&#39;</span><span class="p">)</span>
468
+ <span class="p">)</span>
469
+ <span class="n">sl2</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">IntSlider</span><span class="p">(</span>
470
+ <span class="n">description</span><span class="o">=</span><span class="s1">&#39;Slider 2&#39;</span><span class="p">,</span>
471
+ <span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span>
472
+ <span class="nb">max</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span>
473
+ <span class="n">layout</span><span class="o">=</span><span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">&#39;99%&#39;</span><span class="p">)</span>
474
+ <span class="p">)</span>
475
+ <span class="n">link</span> <span class="o">=</span> <span class="n">widgets</span><span class="o">.</span><span class="n">link</span><span class="p">(</span>
476
+ <span class="p">(</span><span class="n">sl1</span><span class="p">,</span> <span class="s1">&#39;value&#39;</span><span class="p">),</span>
477
+ <span class="p">(</span><span class="n">sl2</span><span class="p">,</span> <span class="s1">&#39;min&#39;</span><span class="p">)</span>
478
+ <span class="p">)</span>
479
+
480
+ <span class="n">sl1</span><span class="o">.</span><span class="n">value</span> <span class="o">=</span> <span class="mi">5</span>
481
+ <span class="n">widgets</span><span class="o">.</span><span class="n">VBox</span><span class="p">([</span>
482
+ <span class="n">sl1</span><span class="p">,</span> <span class="n">sl2</span>
483
+ <span class="p">])</span>
484
+ </pre></div>
485
+
486
+ </div>
487
+ </div>
488
+ </div>
489
+
490
+ <div class="output_wrapper">
491
+ <div class="output">
492
+
493
+
494
+ <div class="output_area">
495
+
496
+
497
+
498
+
499
+
500
+ <div class="output_subarea output_widget_view ">
501
+ <button class="js-nbinteract-widget">
502
+ Loading widgets...
503
+ </button>
504
+ </div>
505
+
506
+ </div>
507
+
508
+ </div>
509
+ </div>
510
+
511
+ </div>
512
+