card 1.98.0 → 1.98.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (246) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/db/migrate_core_cards/20190718140126_add_guides.rb +19 -0
  4. data/db/migrate_core_cards/data/cards/Xaccount_setting-Xright-Xstructure +9 -2
  5. data/db/migrate_core_cards/data/cards/anyone_signed_in-dashboard +0 -2
  6. data/db/seed/new/card_actions.yml +858 -842
  7. data/db/seed/new/card_acts.yml +2 -2
  8. data/db/seed/new/card_references.yml +965 -951
  9. data/db/seed/new/cards.yml +3351 -3310
  10. data/db/seed/new/schema_migrations_core_cards.yml +4 -0
  11. data/db/seed/test/fixtures/card_actions.yml +1861 -1845
  12. data/db/seed/test/fixtures/card_acts.yml +489 -489
  13. data/db/seed/test/fixtures/card_changes.yml +66 -66
  14. data/db/seed/test/fixtures/card_references.yml +922 -908
  15. data/db/seed/test/fixtures/cards.yml +3100 -3059
  16. data/db/seed/test/fixtures/schema_migrations_core_cards.yml +4 -0
  17. data/lib/card/act_manager.rb +15 -45
  18. data/lib/card/act_manager/event_delay.rb +48 -0
  19. data/lib/card/act_manager/stage_director.rb +2 -2
  20. data/lib/card/act_manager/stage_director/phases.rb +3 -6
  21. data/lib/card/auth/current.rb +5 -0
  22. data/lib/card/set/event/delayed_event.rb +2 -0
  23. data/mod/account/set/right/account.rb +10 -14
  24. data/mod/account/set/right/token.rb +1 -0
  25. data/mod/account/set/type/signup.rb +2 -4
  26. data/mod/account/spec/set/right/account_spec.rb +1 -2
  27. data/mod/account/spec/set/type/signup_spec.rb +2 -1
  28. data/mod/bootstrap/lib/stylesheets/style_bootstrap_cards.scss +1 -6
  29. data/mod/core/set/all/event_conditions.rb +16 -5
  30. data/mod/core/set/all/fetch_helper.rb +4 -1
  31. data/mod/core/set/all/name_events.rb +3 -2
  32. data/mod/core/set/all/references.rb +3 -3
  33. data/mod/core/set/all/rename.rb +3 -2
  34. data/mod/core/set/all/update_read_rules.rb +1 -19
  35. data/mod/core/spec/set/all/event_conditions_spec.rb +36 -38
  36. data/mod/core/spec/set/all/permissions_spec.rb +1 -1
  37. data/mod/date/set/all/calendar.rb +1 -1
  38. data/mod/date/vendor/moment/CHANGELOG.md +8 -0
  39. data/mod/date/vendor/moment/Moment.js.nuspec +5 -5
  40. data/mod/date/vendor/moment/component.json +1 -1
  41. data/mod/date/vendor/moment/locale/az.js +1 -1
  42. data/mod/date/vendor/moment/locale/be.js +1 -1
  43. data/mod/date/vendor/moment/locale/pa-in.js +1 -1
  44. data/mod/date/vendor/moment/meteor/package.js +1 -1
  45. data/mod/date/vendor/moment/min/locales.js +28 -28
  46. data/mod/date/vendor/moment/min/locales.min.js +1 -1
  47. data/mod/date/vendor/moment/min/moment-with-locales.js +33 -33
  48. data/mod/date/vendor/moment/min/moment-with-locales.min.js +1 -1
  49. data/mod/date/vendor/moment/min/moment.min.js +1 -1
  50. data/mod/date/vendor/moment/min/tests.js +48 -11
  51. data/mod/date/vendor/moment/moment.js +5 -5
  52. data/mod/date/vendor/moment/package.json +2 -2
  53. data/mod/date/vendor/moment/src/lib/create/from-string.js +1 -1
  54. data/mod/date/vendor/moment/src/lib/units/day-of-week.js +3 -3
  55. data/mod/date/vendor/moment/src/locale/az.js +1 -1
  56. data/mod/date/vendor/moment/src/locale/be.js +1 -1
  57. data/mod/date/vendor/moment/src/locale/pa-in.js +1 -1
  58. data/mod/date/vendor/moment/src/moment.js +2 -2
  59. data/mod/date/vendor/moment/src/test/locale/az.js +5 -5
  60. data/mod/date/vendor/moment/src/test/locale/be.js +3 -0
  61. data/mod/date/vendor/moment/src/test/locale/pa-in.js +3 -3
  62. data/mod/date/vendor/moment/src/test/moment/locale.js +33 -0
  63. data/mod/date/vendor/moment/src/test/moment/start_end_of.js +1 -1
  64. data/mod/date/vendor/moment/src/test/moment/weeks.js +2 -2
  65. data/mod/date/vendor/tempusdominus/Gruntfile.js +7 -49
  66. data/mod/date/vendor/tempusdominus/build/css/tempusdominus-bootstrap-4.css +3 -1
  67. data/mod/date/vendor/tempusdominus/build/css/tempusdominus-bootstrap-4.min.css +3 -1
  68. data/mod/date/vendor/tempusdominus/build/js/tempusdominus-bootstrap-4.js +128 -116
  69. data/mod/date/vendor/tempusdominus/build/js/tempusdominus-bootstrap-4.min.js +3 -3
  70. data/mod/date/vendor/tempusdominus/composer.json +3 -3
  71. data/mod/date/vendor/tempusdominus/docs/Changelog/index.html +20 -36
  72. data/mod/date/vendor/tempusdominus/docs/ContributorsGuide/index.html +20 -36
  73. data/mod/date/vendor/tempusdominus/docs/Events/index.html +20 -36
  74. data/mod/date/vendor/tempusdominus/docs/Extras/index.html +20 -36
  75. data/mod/date/vendor/tempusdominus/docs/FAQ/index.html +20 -36
  76. data/mod/date/vendor/tempusdominus/docs/Functions/index.html +20 -36
  77. data/mod/date/vendor/tempusdominus/docs/Installing/index.html +30 -50
  78. data/mod/date/vendor/tempusdominus/docs/Options/index.html +21 -37
  79. data/mod/date/vendor/tempusdominus/docs/Usage/index.html +20 -40
  80. data/mod/date/vendor/tempusdominus/docs/css/base.css +1682 -0
  81. data/mod/date/vendor/tempusdominus/docs/css/tempusdominus-bootstrap-4.css +3 -1
  82. data/mod/date/vendor/tempusdominus/docs/index.html +26 -41
  83. data/mod/date/vendor/tempusdominus/docs/js/tempusdominus-bootstrap-4.js +127 -115
  84. data/mod/date/vendor/tempusdominus/docs/search/search_index.json +11 -16
  85. data/mod/date/vendor/tempusdominus/docs/sitemap.xml +10 -10
  86. data/mod/date/vendor/tempusdominus/docs/theme/base.html +11 -12
  87. data/mod/date/vendor/tempusdominus/docs/theme/css/base.css +1682 -0
  88. data/mod/date/vendor/tempusdominus/docs/theme/css/tempusdominus-bootstrap-4.css +3 -1
  89. data/mod/date/vendor/tempusdominus/docs/theme/js/tempusdominus-bootstrap-4.js +127 -115
  90. data/mod/date/vendor/tempusdominus/docs/theme/toc.html +1 -0
  91. data/mod/date/vendor/tempusdominus/package-lock.json +4085 -8197
  92. data/mod/date/vendor/tempusdominus/package.json +17 -19
  93. data/mod/date/vendor/tempusdominus/src/docs/Installing.md +12 -18
  94. data/mod/date/vendor/tempusdominus/src/docs/Options.md +1 -1
  95. data/mod/date/vendor/tempusdominus/src/docs/Usage.md +0 -2
  96. data/mod/date/vendor/tempusdominus/src/docs/index.md +7 -5
  97. data/mod/date/vendor/tempusdominus/src/docs/theme/base.html +11 -12
  98. data/mod/date/vendor/tempusdominus/src/docs/theme/css/base.css +1682 -0
  99. data/mod/date/vendor/tempusdominus/src/docs/theme/css/tempusdominus-bootstrap-4.css +3 -1
  100. data/mod/date/vendor/tempusdominus/src/docs/theme/js/tempusdominus-bootstrap-4.js +127 -115
  101. data/mod/date/vendor/tempusdominus/src/docs/theme/toc.html +1 -0
  102. data/mod/date/vendor/tempusdominus/src/js/tempusdominus-bootstrap-4.js +32 -12
  103. data/mod/date/vendor/tempusdominus/src/sass/_tempusdominus-bootstrap-4.scss +4 -0
  104. data/mod/date/vendor/tempusdominus/src/sass/tempusdominus-bootstrap-4-build.scss +2 -2
  105. data/mod/edit/set/all/bridge.rb +4 -1
  106. data/mod/edit/set/all/bridge/tab_views.rb +4 -0
  107. data/mod/edit/set/all/bridge/tab_visibility.rb +4 -0
  108. data/mod/edit/set/all/edit_content.rb +9 -0
  109. data/mod/edit/set/all/edit_inline.rb +0 -4
  110. data/mod/edit/set/all/edit_type.rb +83 -12
  111. data/mod/edit/set/all/editing.rb +2 -2
  112. data/mod/edit/set/all/form.rb +1 -62
  113. data/mod/edit/set/all/form_buttons.rb +1 -1
  114. data/mod/edit/set/all/new.rb +52 -7
  115. data/mod/edit/spec/set/all/nest_editor_spec.rb +1 -1
  116. data/mod/follow/set/all/notify/base_views.rb +1 -3
  117. data/mod/machines/file/all_script_machine_output/file.js +72 -38108
  118. data/mod/machines/file/all_style_machine_output/file.css +3 -3
  119. data/mod/machines/file/script_html5shiv_printshiv_machine_output/file.js +1 -1
  120. data/mod/machines/lib/javascript/decko/decko.js.coffee +12 -3
  121. data/mod/machines/lib/javascript/decko/overlay.js.coffee +3 -0
  122. data/mod/machines/lib/javascript/decko/slotter.js.coffee +8 -0
  123. data/mod/machines/lib/stylesheets/style_cards.scss +15 -0
  124. data/mod/machines/spec/set/type/css_spec.rb +14 -14
  125. data/mod/machines/spec/shared_examples/machine_input.rb +6 -10
  126. data/mod/navbar/set/abstract/{roles_dropdown.rb → account_dropdown.rb} +8 -2
  127. data/mod/navbar/set/right/enabled_roles.rb +6 -8
  128. data/mod/navbar/set/self/account_links.rb +2 -2
  129. data/mod/navbar/spec/set/self/account_links_spec.rb +31 -0
  130. data/mod/pointer/set/abstract/02_pointer/html_views.rb +1 -1
  131. data/mod/rules/set/rule/editor.rb +1 -1
  132. data/mod/rules/set/type/set/setting_lists.rb +1 -1
  133. data/mod/search/set/self/search.rb +2 -0
  134. data/mod/settings/set/right/guide.rb +8 -0
  135. data/mod/settings/set/right/read.rb +1 -1
  136. data/mod/settings/set/self/guide.rb +3 -0
  137. data/mod/standard/set/all/rich_html/content.rb +0 -6
  138. data/mod/standard/set/all/rich_html/error.rb +3 -3
  139. data/mod/standard/set/all/rich_html/html_views/guide.rb +51 -0
  140. data/mod/standard/set/all/rich_html/html_views/help.rb +6 -0
  141. data/mod/standard/set/all/rich_html/overlay.rb +1 -1
  142. data/mod/standard/set/type/cardtype.rb +1 -1
  143. data/mod/tinymce_editor/lib/javascript/script_tinymce.js +2 -2
  144. data/mod/tinymce_editor/public/assets/tinymce/jquery.tinymce.min.js +1 -1
  145. data/mod/tinymce_editor/public/assets/tinymce/plugins/advlist/plugin.min.js +2 -2
  146. data/mod/tinymce_editor/public/assets/tinymce/plugins/anchor/plugin.min.js +2 -2
  147. data/mod/tinymce_editor/public/assets/tinymce/plugins/autolink/plugin.min.js +2 -2
  148. data/mod/tinymce_editor/public/assets/tinymce/plugins/autoresize/plugin.min.js +2 -2
  149. data/mod/tinymce_editor/public/assets/tinymce/plugins/autosave/plugin.min.js +2 -2
  150. data/mod/tinymce_editor/public/assets/tinymce/plugins/bbcode/plugin.min.js +2 -2
  151. data/mod/tinymce_editor/public/assets/tinymce/plugins/charmap/plugin.min.js +2 -2
  152. data/mod/tinymce_editor/public/assets/tinymce/plugins/code/plugin.min.js +2 -2
  153. data/mod/tinymce_editor/public/assets/tinymce/plugins/codesample/plugin.min.js +2 -2
  154. data/mod/tinymce_editor/public/assets/tinymce/plugins/colorpicker/plugin.min.js +2 -2
  155. data/mod/tinymce_editor/public/assets/tinymce/plugins/contextmenu/plugin.min.js +2 -2
  156. data/mod/tinymce_editor/public/assets/tinymce/plugins/directionality/plugin.min.js +2 -2
  157. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/js/emojis.js +8941 -8941
  158. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/plugin.min.js +2 -2
  159. data/mod/tinymce_editor/public/assets/tinymce/plugins/fullpage/plugin.min.js +2 -2
  160. data/mod/tinymce_editor/public/assets/tinymce/plugins/fullscreen/plugin.min.js +2 -2
  161. data/mod/tinymce_editor/public/assets/tinymce/plugins/help/plugin.min.js +2 -2
  162. data/mod/tinymce_editor/public/assets/tinymce/plugins/hr/plugin.min.js +2 -2
  163. data/mod/tinymce_editor/public/assets/tinymce/plugins/image/plugin.min.js +2 -2
  164. data/mod/tinymce_editor/public/assets/tinymce/plugins/imagetools/plugin.min.js +2 -2
  165. data/mod/tinymce_editor/public/assets/tinymce/plugins/importcss/plugin.min.js +2 -2
  166. data/mod/tinymce_editor/public/assets/tinymce/plugins/insertdatetime/plugin.min.js +2 -2
  167. data/mod/tinymce_editor/public/assets/tinymce/plugins/legacyoutput/plugin.min.js +2 -2
  168. data/mod/tinymce_editor/public/assets/tinymce/plugins/link/plugin.min.js +2 -2
  169. data/mod/tinymce_editor/public/assets/tinymce/plugins/lists/plugin.min.js +2 -2
  170. data/mod/tinymce_editor/public/assets/tinymce/plugins/media/plugin.min.js +2 -2
  171. data/mod/tinymce_editor/public/assets/tinymce/plugins/nonbreaking/plugin.min.js +2 -2
  172. data/mod/tinymce_editor/public/assets/tinymce/plugins/noneditable/plugin.min.js +2 -2
  173. data/mod/tinymce_editor/public/assets/tinymce/plugins/pagebreak/plugin.min.js +2 -2
  174. data/mod/tinymce_editor/public/assets/tinymce/plugins/paste/plugin.min.js +2 -2
  175. data/mod/tinymce_editor/public/assets/tinymce/plugins/preview/plugin.min.js +2 -2
  176. data/mod/tinymce_editor/public/assets/tinymce/plugins/print/plugin.min.js +2 -2
  177. data/mod/tinymce_editor/public/assets/tinymce/plugins/quickbars/plugin.min.js +2 -2
  178. data/mod/tinymce_editor/public/assets/tinymce/plugins/save/plugin.min.js +2 -2
  179. data/mod/tinymce_editor/public/assets/tinymce/plugins/searchreplace/plugin.min.js +2 -2
  180. data/mod/tinymce_editor/public/assets/tinymce/plugins/spellchecker/plugin.min.js +2 -2
  181. data/mod/tinymce_editor/public/assets/tinymce/plugins/tabfocus/plugin.min.js +2 -2
  182. data/mod/tinymce_editor/public/assets/tinymce/plugins/table/plugin.min.js +2 -2
  183. data/mod/tinymce_editor/public/assets/tinymce/plugins/template/plugin.min.js +2 -2
  184. data/mod/tinymce_editor/public/assets/tinymce/plugins/textcolor/plugin.min.js +2 -2
  185. data/mod/tinymce_editor/public/assets/tinymce/plugins/textpattern/plugin.min.js +2 -2
  186. data/mod/tinymce_editor/public/assets/tinymce/plugins/toc/plugin.min.js +2 -2
  187. data/mod/tinymce_editor/public/assets/tinymce/plugins/visualblocks/plugin.min.js +2 -2
  188. data/mod/tinymce_editor/public/assets/tinymce/plugins/visualchars/plugin.min.js +2 -2
  189. data/mod/tinymce_editor/public/assets/tinymce/plugins/wordcount/plugin.min.js +2 -2
  190. data/mod/tinymce_editor/public/assets/tinymce/skins/content/default/content.min.css +1 -1
  191. data/mod/tinymce_editor/public/assets/tinymce/skins/content/document/content.min.css +1 -1
  192. data/mod/tinymce_editor/public/assets/tinymce/skins/content/writer/content.min.css +1 -1
  193. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide-dark/content.inline.min.css +1 -1
  194. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide-dark/content.min.css +1 -1
  195. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide-dark/skin.min.css +1 -1
  196. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide/content.inline.min.css +1 -1
  197. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide/content.min.css +1 -1
  198. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide/content.mobile.min.css +7 -1
  199. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide/skin.min.css +1 -1
  200. data/mod/tinymce_editor/public/assets/tinymce/skins/ui/oxide/skin.mobile.min.css +7 -1
  201. data/mod/tinymce_editor/public/assets/tinymce/themes/mobile/theme.min.js +2 -2
  202. data/mod/tinymce_editor/public/assets/tinymce/themes/silver/theme.min.js +2 -2
  203. data/mod/tinymce_editor/public/assets/tinymce/tinymce.min.js +2 -2
  204. metadata +10 -47
  205. data/mod/date/vendor/tempusdominus/src/nuget/NuGet.exe +0 -0
  206. data/mod/date/vendor/tempusdominus/src/nuget/Tempus.Dominus.Bootstrap.4.nuspec +0 -29
  207. data/mod/tinymce_editor/public/assets/tinymce/plugins/codesample/css/prism.css +0 -138
  208. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-cool.gif +0 -0
  209. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-cry.gif +0 -0
  210. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-embarassed.gif +0 -0
  211. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-foot-in-mouth.gif +0 -0
  212. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-frown.gif +0 -0
  213. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-innocent.gif +0 -0
  214. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-kiss.gif +0 -0
  215. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-laughing.gif +0 -0
  216. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-money-mouth.gif +0 -0
  217. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-sealed.gif +0 -0
  218. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-smile.gif +0 -0
  219. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-surprised.gif +0 -0
  220. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-tongue-out.gif +0 -0
  221. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-undecided.gif +0 -0
  222. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-wink.gif +0 -0
  223. data/mod/tinymce_editor/public/assets/tinymce/plugins/emoticons/img/smiley-yell.gif +0 -0
  224. data/mod/tinymce_editor/public/assets/tinymce/plugins/help/img/logo.png +0 -0
  225. data/mod/tinymce_editor/public/assets/tinymce/plugins/visualblocks/css/visualblocks.css +0 -154
  226. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/content.inline.min.css +0 -1
  227. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/content.min.css +0 -1
  228. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/content.mobile.min.css +0 -1
  229. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce-mobile.woff +0 -0
  230. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.eot +0 -0
  231. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.svg +0 -63
  232. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.ttf +0 -0
  233. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce-small.woff +0 -0
  234. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce.eot +0 -0
  235. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce.svg +0 -131
  236. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce.ttf +0 -0
  237. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/fonts/tinymce.woff +0 -0
  238. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/img/anchor.gif +0 -0
  239. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/img/loader.gif +0 -0
  240. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/img/object.gif +0 -0
  241. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/img/trans.gif +0 -0
  242. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/skin.min.css +0 -1
  243. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/skin.min.css.map +0 -0
  244. data/mod/tinymce_editor/public/assets/tinymce/skins/lightgray/skin.mobile.min.css +0 -2
  245. data/mod/tinymce_editor/public/assets/tinymce/themes/inlite/theme.min.js +0 -1
  246. data/mod/tinymce_editor/public/assets/tinymce/themes/modern/theme.min.js +0 -1
@@ -2,7 +2,7 @@
2
2
  "docs": [
3
3
  {
4
4
  "location": "/",
5
- "text": "![Tempus Dominus](android-chrome-256x256.png)\n \n\n \n\n \nTempus Dominus\n\n \n\n Tempus Dominus is the successor to the very popular Eonasdan/bootstrap-datetimepicker. \n The plugin provide a robust date and time picker designed to integrate into your Bootstrap project.\n \n\n \n\n \nGet started\n\n \nDownload\n\n \n\n \n\n Currently v5.0.0-alpha.18\n \n\n \n\n \n\n \n\n\n\n\n\n\n \n\n \n\n \nInstallation\n\n \nInclude Tempus Dominus's source Sass and JavaScript files via npm\n\n \n\n\n\nnpm i tempusdominus-bootstrap-4\n\n\n \n\n \n\n \nRead installation docs\n\n \n\n \n\n \n\n \nCDNJS\n\n \nWhen you only need to include Tempus Dominus's compiled CSS or JS, you can use CDNJS.\n\n \n\n\n\n<script type=\"text/javascript\" src=\"https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.0-alpha18/js/tempusdominus-bootstrap-4.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.0-alpha18/css/tempusdominus-bootstrap-4.min.css\" />\n\n\n \n\n \n\n \nExplore the docs",
5
+ "text": "Tempus Dominus\n\n \n\n Tempus Dominus is the successor to the very popular Eonasdan/bootstrap-datetimepicker. \n The plugin provide a robust date and time picker designed to integrate into your Bootstrap project.\n \n\n \n\n \nGet started\n\n \nDownload\n\n \n\n \n\n Currently v5.0.1\n \n\n \n\n \n\n \n\n \n\n\n\n\n\n\n \n\n \n\n \nInstallation\n\n \nInclude Tempus Dominus's source Sass and JavaScript files via npm\n\n \n\n\n\nnpm i tempusdominus-bootstrap-4\n\n\n \n\n \n\n \nRead installation docs\n\n \n\n \n\n \n\n \nCDNJS\n\n \nWhen you only need to include Tempus Dominus's compiled CSS or JS, you can use CDNJS.\n\n \n\n\n\n<script type=\"text/javascript\" src=\"https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js\"></script>\n<script type=\"text/javascript\" src=\"https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js\"></script>\n<script type=\"text/javascript\" src=\"https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/js/tempusdominus-bootstrap-4.min.js\"></script>\n<link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/css/tempusdominus-bootstrap-4.min.css\" />\n\n\n \n\n \n\n \nExplore the docs",
6
6
  "title": "Tempus Dominus Bootstrap 4"
7
7
  },
8
8
  {
@@ -152,7 +152,7 @@
152
152
  },
153
153
  {
154
154
  "location": "/Installing/",
155
- "text": "This guide still needs a lot of work\n\n\n\n\nMinimal Requirements\n\n\n\n\njQuery\n\n\nMoment.js\n\n\nLocales: Moment's locale files are \nhere\n\n\n\n\nInstallation Guides\n\n\n\n\nCDN\n\n\nNuget\n\n\nRails\n\n\nAngular\n\n\nMeteor.js\n\n\nManual\n\n\n\n\nCDN\n\n\n<head>\n <script type=\"text/javascript\" src=\"https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.0-alpha14/js/tempusdominus-bootstrap-4.min.js\"></script>\n <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.0-alpha14/css/tempusdominus-bootstrap-4.min.css\" />\n</head>\n\n\n\n\nPackage Managers\n\n\nNuget\n\n\nTempus.Dominus.Bootstrap.4\n: \n\n\nPM> Install-Package Tempus.Dominus.Bootstrap.4\n\n\n\n<head>\n <script type=\"text/javascript\" src=\"/scripts/jquery.min.js\"></script>\n <script type=\"text/javascript\" src=\"/scripts/moment.min.js\"></script>\n <script type=\"text/javascript\" src=\"/scripts/tempusdominus/tempusdominus-bootstrap-4.js\"></script>\n</head>\n\n\n\n\nRails\n\n\nRails 5.1 Support - \nBootstrap 4 Datetime Picker Rails\n\n\n\n\nAdd \ngem 'bootstrap4-datetime-picker-rails'\n to your \nGemfile\n\n\nExecute \nbundle\n\n\nAdd \n//= require tempusdominus-bootstrap-4.js\n to your \napplication.js\n\n\nAdd \n@import \"tempusdominus-bootstrap-4.css\"\n to your \napplication.scss\n\n\n\n\nAngular Wrapper\n\n\nNeed new wrapper for this version.\n\n\nMeteor.js\n\n\nNeed new wrapper for this version.\n\n\nManual\n\n\n\n\nAcquire \njQuery\n\n\nAcquire \nMoment.js\n\n\nAcquire\n\n\n\n\n<script type=\"text/javascript\" src=\"/path/to/jquery.js\"></script>\n<script type=\"text/javascript\" src=\"/path/to/moment.js\"></script>\n<script type=\"text/javascript\" src=\"/path/to/tempusdominus-bootstrap-4.min.js\"></script>\n\n\n\n\nKnockout\n\n\nNeed new wrapper for this version.",
155
+ "text": "This guide still needs a lot of work\n\n\n\n\nMinimal Requirements\n\n\n\n\njQuery\n\n\nMoment.js\n\n\nLocales: Moment's locale files are \nhere\n\n\n\n\nInstallation Guides\n\n\n\n\nCDN\n\n\nRails\n\n\nDjango\n\n\nAngular\n\n\nMeteor.js\n\n\nManual\n\n\n\n\nCDN\n\n\n<head>\n <script type=\"text/javascript\" src=\"https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.0-alpha14/js/tempusdominus-bootstrap-4.min.js\"></script>\n <link rel=\"stylesheet\" href=\"https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.0-alpha14/css/tempusdominus-bootstrap-4.min.css\" />\n</head>\n\n\n\n\nPackage Managers\n\n\nRails\n\n\nRails 5.1 Support - \nBootstrap 4 Datetime Picker Rails\n\n\n\n\nAdd \ngem 'bootstrap4-datetime-picker-rails'\n to your \nGemfile\n\n\nExecute \nbundle\n\n\nAdd \n//= require tempusdominus-bootstrap-4.js\n to your \napplication.js\n\n\nAdd \n@import \"tempusdominus-bootstrap-4.css\"\n to your \napplication.scss\n\n\n\n\nDjango\n\n\nPython package for Django: \nDjango Tempus Dominus\n\n\n\n\nInstall via pip: \npip install django-tempus-dominus\n\n\nWidgets are provided for Date, DateTime, and Time.\n\n\nFull examples are available with Django Forms, Widgets, and Templates\n.\n\n\n\n\nAngular Wrapper\n\n\nFollow instructions at \nngx-tempusdominus-bootstrap\n \n\n\nMeteor.js\n\n\nNeed new wrapper for this version.\n\n\nManual\n\n\n\n\nAcquire \njQuery\n\n\nAcquire \nMoment.js\n\n\nAcquire\n\n\n\n\n<script type=\"text/javascript\" src=\"/path/to/jquery.js\"></script>\n<script type=\"text/javascript\" src=\"/path/to/moment.js\"></script>\n<script type=\"text/javascript\" src=\"/path/to/tempusdominus-bootstrap-4.min.js\"></script>\n\n\n\n\nKnockout\n\n\nNeed new wrapper for this version.",
156
156
  "title": "Installing"
157
157
  },
158
158
  {
@@ -162,7 +162,7 @@
162
162
  },
163
163
  {
164
164
  "location": "/Installing/#installation-guides",
165
- "text": "CDN Nuget Rails Angular Meteor.js Manual",
165
+ "text": "CDN Rails Django Angular Meteor.js Manual",
166
166
  "title": "Installation Guides"
167
167
  },
168
168
  {
@@ -175,24 +175,19 @@
175
175
  "text": "",
176
176
  "title": "Package Managers"
177
177
  },
178
- {
179
- "location": "/Installing/#nuget",
180
- "text": "",
181
- "title": "Nuget"
182
- },
183
- {
184
- "location": "/Installing/#tempusdominusbootstrap4",
185
- "text": "PM> Install-Package Tempus.Dominus.Bootstrap.4 <head>\n <script type=\"text/javascript\" src=\"/scripts/jquery.min.js\"></script>\n <script type=\"text/javascript\" src=\"/scripts/moment.min.js\"></script>\n <script type=\"text/javascript\" src=\"/scripts/tempusdominus/tempusdominus-bootstrap-4.js\"></script>\n</head>",
186
- "title": "Tempus.Dominus.Bootstrap.4:"
187
- },
188
178
  {
189
179
  "location": "/Installing/#rails",
190
180
  "text": "Rails 5.1 Support - Bootstrap 4 Datetime Picker Rails Add gem 'bootstrap4-datetime-picker-rails' to your Gemfile Execute bundle Add //= require tempusdominus-bootstrap-4.js to your application.js Add @import \"tempusdominus-bootstrap-4.css\" to your application.scss",
191
181
  "title": "Rails"
192
182
  },
183
+ {
184
+ "location": "/Installing/#django",
185
+ "text": "Python package for Django: Django Tempus Dominus Install via pip: pip install django-tempus-dominus Widgets are provided for Date, DateTime, and Time. Full examples are available with Django Forms, Widgets, and Templates .",
186
+ "title": "Django"
187
+ },
193
188
  {
194
189
  "location": "/Installing/#angular-wrapper",
195
- "text": "Need new wrapper for this version.",
190
+ "text": "Follow instructions at ngx-tempusdominus-bootstrap",
196
191
  "title": "Angular Wrapper"
197
192
  },
198
193
  {
@@ -292,7 +287,7 @@
292
287
  },
293
288
  {
294
289
  "location": "/Options/",
295
- "text": "Options\n\n\n\n \nNote\n\n Initialize options as \n \n$('#datetimepicker').datetimepicker({\n sideBySide: true,\n debug: true\n })\n\n\n\n\n\n\n \nNote\n\n To set options use \n$('#datetimepicker').datetimepicker('sideBySide', true)\n\n\n\n\n\n\n \nNote\n\n To get option value use \n$('#datetimepicker').datetimepicker('sideBySide')\n\n\n\n\n\nGlobal defaults can be get/set by \n$.fn.datetimepicker.Constructor.Default\n\n\ne.g. To set icons to use Font Awesome 5\n\n\n$.fn.datetimepicker.Constructor.Default = $.extend({}, $.fn.datetimepicker.Constructor.Default, {\n icons: {\n time: 'far fa-clock',\n date: 'far fa-calendar',\n up: 'far fa-arrow-up',\n down: 'far fa-arrow-down',\n previous: 'far fa-chevron-left',\n next: 'far fa-chevron-right',\n today: 'far fa-calendar-check-o',\n clear: 'far fa-trash',\n close: 'far fa-times'\n } });\n\n\n\n\nDo this \nbefore\n you init pickers.\n\n\n\n\n\noptions\n\n\nReturns the components current options object. Note that the changing the values of the returned object does not change the components actual configuration. Use \noptions(options)\n to set the components options massively or the other methods for setting config options individually.\n\n\noptions, [options]\n\n\nTakes an object variable with option key:value properties and configures the component. Use this to update multiple options on the component.\n\n\n\n\ndate\n\n\nReturns the component's model current date, a \nmoment\n object or \nnull\n if not set.\n\n\ndate, [newDate]\n\n\nTakes \nstring, Date, moment, null\n parameter and sets the components model current moment to it. Passing a \nnull\n value unsets the components model current moment. Parsing of the \nnewDate\n parameter is made using moment library with the \noptions.format\n and \noptions.useStrict\n components configuration.\n\n\nThrows\n\n\n\n\nTypeError\n - in case the \nnewDate\n cannot be parsed\n\n\n\n\nEmits\n\n\n\n\nchange.datetimepicker\n - In case \nnewDate\n is different from current moment\n\n\n\n\n\n\nformat\n\n\nDefault: false\n\n\n\nSee \nmomentjs' docs\n for valid formats. Format also dictates what components are shown, e.g. \nMM/dd/YYYY\n will not display the time picker.\n\n\nformat\n\n\nReturns the component's \noptions.format\n \nstring\n\n\nformat, [format]\n\n\nTakes a \nmoment.js\n format \nstring\n and sets the components \noptions.format\n. This is used for displaying and also for parsing input strings either from the input element the component is attached to or the \ndate()\n function.\nThe parameter can also be a \nboolean:false\n in which case the format is set to the locale's \nL LT\n.\n\n\nNote:\n this is also used to determine if the time picker sub component will display the hours in 12 or 24 format. (if \na\n or \nh\n exists in the passed \nstring\n then a 12 hour mode is set)\n\n\n\n\ndayViewHeaderFormat\n\n\nDefault: 'MMMM YYYY'\n\n\n\nChanges the heading of the date picker when in \"days\" view.\n\n\n\n\ndayViewHeaderFormat\n\n\nReturns a \nstring\n variable with the currently set \noptions.dayViewHeaderFormat\n option.\n\n\ndayViewHeaderFormat, [string]\n\n\nTakes a \nstring\n value.\n\n\nUsed to customize the header of the day view.\n\n\n\n\nextraFormats\n\n\nDefault: false\n\n\n\nAllows for several input formats to be valid. See \nthis PR\n.\n\n\nextraFormats\n\n\nReturns a \nboolean\n or array with the \noptions.extraFormats\n option configuration\n\n\nextraFormats, [formats]\n\n\nTakes an array of valid input moment format options.\n\n\n\n\nstepping\n\n\nDefault: 1\n\n\n\nNumber of minutes the up/down arrow's will move the minutes value in the time picker\n\n\nstepping\n\n\nReturns a \nnumber\n with the \noptions.stepping\n option configuration\n\n\nstepping, [number]\n\n\nTakes a \nnumber\n. This be the amount the up/down arrows move the minute value with a time picker.\n\n\n\n\nmin/maxDate\n\n\nDefault: false\nAccepts: date, moment, string\n\n\n\nPrevents date/time selections before this date. Will override \ndefaultDate\n and \nuseCurrent\n if either of these settings are the same day since both options are invalid according to the rules you've selected.\n\n\nminDate\n\n\nReturns the currently set moment of the \noptions.minDate\n or \nfalse\n if not set\n\n\nminDate, [minDate]\n\n\nTakes a \nminDate\n \nstring, Date, moment, boolean:false\n parameter and disallows the user to select a moment that is before that moment. If a \nboolean:false\n value is passed the \noptions.minDate\n parameter is cleared and there is no restriction to the minimum moment the user can select. \n\n\nNote:\n If the \nminDate\n parameter is after the currently selected moment the currently selected moment changes to minDate parameter\n\n\nThrows\n\n\n\n\n\n\nTypeError\n - if \nminDate\n parameter cannot be parsed using the \noptions.format\n and \noptions.useStrict\n configuration settings\n\n\n\n\n\n\nTypeError\n - if \nminDate\n parameter is after \noptions.maxDate\n\n\n\n\n\n\nEmits\n\n\n\n\n\n\nchange.datetimepicker\n - if the new \nminDate\n is after currently selected moment (waiting for #472 to close in order to finalize this part)\n\n\n\n\n\n\ndp.error\n - if the new \nminDate\n is after currently selected moment (waiting for #472 to close in order to finalize this part)\n\n\n\n\n\n\n\n\nmaxDate\n\n\nReturns the currently set moment of the \noptions.maxDate\n or \nfalse\n if not set\n\n\nmaxDate, [maxDate]\n\n\nTakes a [maxDate] \nstring, Date, moment, boolean:false\n parameter and disallows the user to select a moment that is after that moment. If a \nboolean:false\n value is passed \noptions.maxDate\n is cleared and there is no restriction to the maximum moment the user can select.\n\n\nNote:\n If [maxDate] is before the currently selected moment the currently selected moment changes to [maxDate]\n\n\nThrows\n\n\n\n\n\n\nTypeError\n - if \nmaxDate\n parameter cannot be parsed using the \noptions.format\n and \noptions.useStrict\n configuration settings\n\n\n\n\n\n\nTypeError\n - if \nmaxDate\n parameter is before \noptions.minDate\n\n\n\n\n\n\nEmits\n\n\n\n\n\n\nchange.datetimepicker\n - if the new \nmaxDate\n is after currently selected moment (waiting for #472 to close in order to finalize this part)\n\n\n\n\n\n\ndp.error\n - if the new \nmaxDate\n is after currently selected moment (waiting for #472 to close in order to finalize this part)\n\n\n\n\n\n\n\n\nuseCurrent\n\n\nDefault: true\n\n\n\nOn \nshow\n, will set the picker to the current date/time.\n\n\nuseCurrent\n\n\nReturns a \nboolean\n or \nstring\n with the \noptions.useCurrent\n option configuration\n\n\nuseCurrent, boolean or string\n\n\nTakes a \nboolean\n or \nstring\n. If a \nboolean\n true is passed and the components model moment is not set (either through \nsetDate\n or through a valid value on the input element the component is attached to) then the first time the user opens the datetimepicker widget the value is initialized to the current moment of the action. If a false \nboolean\n is passed then no initialization happens on the input element. You can select the granularity on the initialized moment by passing one of the following strings (\n'year', 'month', 'day', 'hour', 'minute'\n) in the variable.\n\n\nIf for example you pass \n'day'\n to the \nsetUseCurrent\n function and the input field is empty the first time the user opens the datetimepicker widget the input text will be initialized to the current date time with day granularity (e.g. if current time = \n2014-08-10 13:32:33\n the input value will be initialized to \n2014-08-10 00:00:00\n)\n\n\nNote:\n If the \noptions.defaultDate\n is set or the input element the component is attached to has already a value that takes precedence and the functionality of \nuseCurrent\n is not triggered!\n\n\n\n\ncollapse\n\n\nDefault: true\n\n\n\nUsing a Bootstraps collapse to switch between date/time pickers.\n\n\ncollapse\n\n\nReturns a \nboolean\n of the \noptions.sideBySide\n.\n\n\ncollapse, [collapse]\n\n\nTakes a \nboolean\n. If set to \nfalse\n the picker will display similar to \nsideBySide\n except vertical.\n\n\n\n\nlocale\n\n\nDefault: moment.locale()\nAccepts: string, moment.local('locale')\n\n\n\nSee \nmomentjs\n for valid locales.\n\n\nYou must include \nmoment-with-locales.js\n or a local js file.\n\n\nlocale\n\n\nReturns the currently set locale of the \noptions.locale\n\n\nlocale, [newLocale]\n\n\nTakes a \nstring\n of any valid \nmoment locale\n e.g. \nde\n for German.\n\n\nThrows\n\n\n\n\nTypeError\n - if the locale is not loaded via a separate script or \nmoment-with-locales\n\n\n\n\n\n\ndefaultDate\n\n\nDefault: false\nAccepts: date, moment, string\n\n\n\nSets the picker default date/time. Overrides \nuseCurrent\n\n\ndefaultDate\n\n\nReturns a \nmoment\n with the \noptions.defaultDate\n option configuration or \nfalse\n if not set\n\n\ndefaultDate, [defaultDate]\n\n\nTakes a \nstring, Date, moment, boolean:false\n. Will set the picker's initial date. If a \nboolean:false\n value is passed the \noptions.defaultDate\n parameter is cleared. \n\n\n\n\n\n\nTypeError\n - if the provided date pass validation, including \ndisabledDates\n, \nenabledDates\n, \nminDate\n, \nmaxDate\n, and \ndaysOfWeekDisabled\n\n\n\n\n\n\nTypeError\n - if the provided date cannot be parsed by moment.js\n\n\n\n\n\n\n\n\nen/disabledDates\n\n\nDefault: false\nAccepts: array of [date, moment, string]\n\n\n\ndisabledDates\n\n\nReturns an array with the currently set disabled dates on the component.\n\n\ndisabledDates, [dates]\n\n\nTakes an \n[\n \nstring\n or \nDate\n or \nmoment\n \n]\n of values and disallows the user to select those days. Setting this takes precedence over \noptions.minDate\n, \noptions.maxDate\n configuration. Also calling this function removes the configuration of options.enabledDates if such exist.\n\n\nNote:\n These values are matched with \nDay\n granularity.\n\n\n\n\nenabledDates\n\n\nReturns an array with the currently set enabled dates on the component.\n\n\nenabledDates, [dates]\n\n\nTakes an \n[\n \nstring\n or \nDate\n or \nmoment\n \n]\n of values and allows the user to select only from those days. Setting this takes precedence over \noptions.minDate\n, \noptions.maxDate\n configuration. Also calling this function removes the configuration of \noptions.disabledDates\n if such exist.\n\n\nNote:\n These values are matched with \nDay\n granularity.\n\n\n\n\nicons\n\n\nDefault: {\n time: 'fa fa-clock-o',\n date: 'fa fa-calendar',\n up: 'fa fa-arrow-up',\n down: 'fa fa-arrow-down',\n previous: 'fa fa-chevron-left',\n next: 'fa fa-chevron-right',\n today: 'fa fa-calendar-check-o',\n clear: 'fa fa-delete',\n close: 'fa fa-times'\n }\nAccepts: object with all or some of the parameters above\n\n\n\nChange the default icons for the pickers functions.\n\n\nicons\n\n\nReturns an \nOjbect\n of \noptions.icons\n \n\n\nicons, [icons]\n\n\nTakes an \nOjbect\n of \nstrings\n.\n\n\nThrows\n\n\n\n\nTypeError\n - if icons parameter is not an \nOjbect\n\n\n\n\n\n\nuseStrict\n\n\nDefault: false\n\n\n\nDefines if moment should use strict date parsing when considering a date to be valid.\n\n\nuseStrict\n\n\nReturns a \nboolean\n of the \noptions.useStrict\n\n\nuseStrict, [useStrict]\n\n\nTakes a \nboolean\n. If \nuseStrict\n is \ntrue\n, moment.js parsing rules will be stricter when determining if a date is valid or not.\n\n\n\n\nsideBySide\n\n\nDefault: false\n\n\n\nShows the picker side by side when using the time and date together.\n\n\n\n\nsideBySide\n\n\nReturns a \nboolean\n of the \noptions.sideBySide\n.\n\n\nsideBySide, [sideBySide]\n\n\nTakes a \nboolean\n. If \nsideBySide\n is \ntrue\n and the time picker is used, both components will display side by side instead of collapsing.\n\n\n\n\ndaysOfWeekDisabled\n\n\nDefault: []\nAccepts: array of numbers from 0-6\n\n\n\nDisables the section of days of the week, e.g. weekends.\n\n\ndaysOfWeekDisabled\n\n\nReturns an array with the \noptions.daysOfWeekDisabled\n configuration setting of the component.\n\n\ndaysOfWeekDisabled, [daysOfWeek]\n\n\nTakes an \n[\n \nNumber\n:\n0\n to \n6\n \n]\n and disallow the user to select weekdays that exist in this array. This has lower priority over the \noptions.minDate\n, \noptions.maxDate\n, \noptions.disabledDates\n and \noptions.enabledDates\n configuration settings.\n\n\nEmits\n\n\n\n\n\n\nchange.datetimepicker\n - if the currently selected moment falls in the values passed on the daysOfWeek parameter. (waiting for #472 to close in order to finalize this part)\n\n\n\n\n\n\ndp.error\n - if the currently selected moment falls in the values passed on the daysOfWeek parameter. (waiting for #472 to close in order to finalize this part)\n\n\n\n\n\n\n\n\ncalendarWeeks\n\n\nDefault: false\n\n\n\nShows the week of the year to the left of first day of the week.\n\n\n\n\ncalendarWeeks\n\n\nReturns a \nboolean\n with the current \noptions.calendarWeeks\n option configuration\n\n\ncalendarWeeks, [boolean]\n\n\nTakes a \nboolean\n variable to set if the week numbers will appear to the left on the days view\n\n\n\n\nviewMode\n\n\nDefault: 'days'\nAccepts: 'decades','years','months','days'\n\n\n\nThe default view to display when the picker is shown.\n\n\nNote\n: To limit the picker to selecting, for instance the year and month, use \nformat: MM/YYYY\n.\n\n\nviewMode\n\n\nReturns a \nstring\n of the \noptions.viewMode\n.\n\n\nviewMode, [newViewMode]\n\n\nTakes a \nstring\n. Valid values are \n'days'\n, \n'months'\n, \n'years'\n and \n'decades'\n\n\nThrows\n\n\n\n\nTypeError\n - if \nnewViewMode\n parameter is not an a \nstring\n or if \nnewViewMode\n is not a valid value.\n\n\n\n\n\n\ntoolbarPlacement\n\n\nDefault: 'default'\nAccepts: 'default', 'top', 'bottom'\n\n\n\nChanges the placement of the icon toolbar.\n\n\n\n\ntoolbarplacement\n\n\nReturns a \nstring\n variable with the currently set \noptions.toolbarplacement\n option.\n\n\ntoolbarplacement, [string]\n\n\nTakes a \nstring\n value. Valid values are \n'default'\n, \n'top'\n and \n'bottom'\n.\n\n\nChanges the placement of the toolbar where the today, clear, component switch icon are located.\n\n\n\n\nbuttons\n\n\nDefault: {\n showToday: false,\n showClear: false,\n showClose: false\n }\nAccepts: object with all or some of the parameters above\n\n\n\nChange the default toolbar buttons for the pickers functions.\n\n\nbuttons\n\n\nReturns an \nOjbect\n of \noptions.buttons\n \n\n\nbuttons, [buttons]\n\n\nTakes an \nOjbect\n of \nboolean\n.\n\n\nThrows\n\n\n\n\nTypeError\n - if buttons parameter is not an \nOjbect\n\n\n\n\n\n\nwidgetPositioning\n\n\nDefault: {\n horizontal: 'auto'\n vertical: 'auto'\n }\nAccepts: object with the all or one of the parameters above\n horizontal: 'auto', 'left', 'right'\n vertical: 'auto', 'top', 'bottom'\n\n\n\nwidgetPositioning\n\n\nReturns the currently set \noptions.widgetPositioning\n object containing two keys \nhorizontal\n and \nvertical\n\n\nwidgetPositioning, [positioningObject]\n\n\nTakes an object parameter that can contain two keys \nvertical\n and \nhorizontal\n each having a value of \n'auto', 'top', 'bottom'\n for \nvertical\n and \n'auto', 'left', 'right'\n for \nhorizontal\n which defines where the dropdown with the widget will appear relative to the input element the component is attached to.\n\n\n'auto'\n is the default value for both \nhorizontal\n and \nvertical\n keys and it tries to automatically place the dropdown in a position that is visible to the user. Usually you should not override those options unless you have a special need in your layout.\n\n\n\n\nwidgetParent\n\n\nDefault: null\nAccepts: string or jQuery object\n\n\n\nOn picker show, places the widget at the identifier (string) or jQuery object \nif\n the element has css \nposition: 'relative'\n\n\nwidgetParent\n\n\nReturns a \n$(element)\n variable with the currently set \noptions.widgetParent\n option.\n\n\nwidgetParent, [widgetParent]\n\n\nTakes a \nstring\n or \n$(element)\n value.\n\n\n\n\nkeepOpen\n\n\nDefault: false\n\n\n\nWill cause the date picker to stay open after selecting a date.\n\n\nkeepOpen\n\n\nReturns a \nboolean\n variable with the currently set \noptions.keepOpen\n option.\n\n\nkeepOpen, [boolean]\n\n\nTakes a \nboolean\n value.\n\n\n\n\ninline\n\n\nDefault: false\n\n\n\nWill display the picker inline without the need of a input field. This will also hide borders and shadows.\n\n\ninline\n\n\nReturns a \nboolean\n variable with the currently set \noptions.inline\n option.\n\n\ninline, [boolean]\n\n\nTakes a \nboolean\n value.\n\n\n\n\nkeepInvalid\n\n\n4.7.14\n\n\nDefault: false\n\n\n\nWill cause the date picker to \nnot\n revert or overwrite invalid dates.\n\n\nkeepInvalid\n\n\nReturns a \nstring\n variable with the currently set \noptions.keepInvalid\n option.\n\n\nkeepInvalid, [boolean]\n\n\nTakes a \nboolean\n value.\n\n\nIf \ntrue\n, invalid dates will not be reverted to a previous selection or changed.\n\n\n\n\nkeyBinds\n\n\nDefault: up: function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().subtract(7, 'd'));\n } else {\n this.date(this.date().clone().add(1, 'm'));\n }\n },\n down: function (widget) {\n if (!widget) {\n this.show();\n }\n else if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().add(7, 'd'));\n } else {\n this.date(this.date().clone().subtract(1, 'm'));\n }\n },\n 'control up': function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().subtract(1, 'y'));\n } else {\n this.date(this.date().clone().add(1, 'h'));\n }\n },\n 'control down': function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().add(1, 'y'));\n } else {\n this.date(this.date().clone().subtract(1, 'h'));\n }\n },\n left: function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().subtract(1, 'd'));\n }\n },\n right: function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().add(1, 'd'));\n }\n },\n pageUp: function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().subtract(1, 'M'));\n }\n },\n pageDown: function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().add(1, 'M'));\n }\n },\n enter: function () {\n this.hide();\n },\n escape: function () {\n this.hide();\n },\n 'control space': function (widget) {\n if (widget.find('.timepicker').is(':visible')) {\n widget.find('.btn[data-action=\"togglePeriod\"]').click();\n }\n },\n t: function () {\n this.date(moment());\n },\n 'delete': function () {\n this.clear();\n }\n\n\n\nAllows for custom events to fire on keyboard press.\n\n\nkeyBinds\n\n\nReturns a \nstring\n variable with the currently set \noptions.keyBinds\n option.\n\n\nkeyBinds, [object]\n\n\nTakes an \nobject\n value.\n\n\nAllows for several \nkeyBinding\n functions to be specified for ease of access or accessibility. See the options page for defaults.\n\n\n\n\ndebug\n\n\nDefault: false\n\n\n\nWill cause the date picker to stay open after a \nblur\n event.\n\n\n\n\nignoreReadonly\n\n\nDefault: false\n\n\n\nAllow date picker show event to fire even when the associated input element has the \nreadonly=\"readonly\"\n property.\n\n\nignoreReadonly\n\n\nReturns a \nboolean\n variable with the currently set \noptions.ignoreReadonly\n option.\n\n\nignoreReadonly, [boolean]\n\n\nTakes a \nboolean\n value.\n\n\nSet this to \ntrue\n to allow the picker to be used even if the input field is \nreadonly\n. This will \nnot\n bypass the \ndisabled\n property\n\n\n\n\ndisabledTimeIntervals\n\n\nDefault: false\n\n\n\nDisables time selection between the given \nmoments\n.\n\n\ndisabledTimeIntervals\n\n\nReturns an \narray\n variable with the currently set \noptions.disabledTimeIntervals\n option.\n\n\ndisabledTimeIntervals, [array]\n\n\nTakes a \narray\n value.\n\n\nThe array \nmust\n be in the following format \n[moment(),moment()]\n\n\nFor example:\n\n\ndisabledTimeIntervals: [[moment({ h: 0 }), moment({ h: 8 })], [moment({ h: 18 }), moment({ h: 24 })]]\n\n\n\nWill disable times between 12-8am and 6-12pm today\n\n\n\n\nallowInputToggle\n\n\nDefault: false\n\n\n\nIf \ntrue\n, the picker will show on textbox focus and icon click when used in a button group.\n\n\nallowInputToggle\n\n\nReturns a \nboolean\n variable with the currently set \noptions.allowInputToggle\n option.\n\n\nallowInputToggle, [boolean]\n\n\nTakes a \nboolean\n value.\n\n\nIf \ntrue\n, the picker will show on textbox focus and icon click when used in a button group\n\n\n\n\nfocusOnShow\n\n\nDefault: true\n\n\n\nIf \nfalse\n, the textbox will not be given focus when the picker is shown.\n\n\nfocusOnShow\n\n\nReturns a \nboolean\n variable with the currently set \noptions.focusOnShow\n option.\n\n\nfocusOnShow, [boolean]\n\n\nTakes a \nboolean\n value.\n\n\nIf \nfalse\n, the textbox will not be given focus when the picker is shown\n\n\n\n\nen/disabledHours\n\n\nDefault: false\n\n\n\ndisabledHours\n\n\nReturns an \narray\n variable with the currently set \noptions.en/disabledHours\n option.\n\n\ndisabledHours, boolean\n\n\nTakes a \narray\n value.\n\n\nMust be in 24 hour format. Will allow or disallow hour selections (much like \ndisabledTimeIntervals\n) but will affect all days.\n\n\nLike \nen/disabledDates\n, these options are mutually exclusive and will reset one of the options back to false.\n\n\ndisabledHours: [0, 1, 2, 3, 4, 5, 6, 7, 8, 18, 19, 20, 21, 22, 23, 24]\nenabledHours: [9, 10, 11, 12, 13, 14, 15, 16]\n\n\n\n\n\nviewDate\n\n\nDefault: false\n\n\n\nThis will change the \nviewDate\n without changing or setting the selected date.\n\n\n\n\nparseInputDate\n\n\nparseInputDate\n\n\nReturns a \nfunction\n with the currently set \noptions.parseInputDate\n\n\nparseInputDate, [function]\n\n\nTakes a \nfunction\n\n\nAllows custom input formatting For example: the user can enter 'yesterday' or '30 days ago.\n\n\nExample:\n\n\nvar parseRelativeDate = function(relativeDate) {\n\n switch (relativeDate) {\n case 'today':\n return moment()\n case 'yesterday':\n return moment().subtract(1, 'day');\n default:\n return moment()\n .subtract(Number(relativeDate.replace(\"days ago\", \"\").trim()), 'days');\n }\n}\n\nvar parseInputDate = function(inputDate) {\n var relativeDatePattern = /today|yesterday|[0-9]+\\s+(days ago)/,\n resultDate;\n\n if (moment.isMoment(inputDate) || inputDate instanceof Date) {\n resultDate = moment(inputDate);\n } else {\n var relativeDate = inputDate.match(relativeDatePattern),\n parseDate = null;\n\n if (relativeDate !== null) \n parseDate = this.parseRelativeDate(inputDate.match(relativeDatePattern)[0]);\n else \n parseDate = moment();\n\n resultDate = moment(parseDate, \"YYYY-MM-DD\");\n }\n\n return resultDate;\n}\n\n\n\n\n\n\ntooltips\n\n\ntooltips: {\n today: 'Go to today',\n clear: 'Clear selection',\n close: 'Close the picker',\n selectMonth: 'Select Month',\n prevMonth: 'Previous Month',\n nextMonth: 'Next Month',\n selectYear: 'Select Year',\n prevYear: 'Previous Year',\n nextYear: 'Next Year',\n selectDecade: 'Select Decade',\n prevDecade: 'Previous Decade',\n nextDecade: 'Next Decade',\n prevCentury: 'Previous Century',\n nextCentury: 'Next Century',,\n incrementHour: 'Increment Hour',\n pickHour: 'Pick Hour',\n decrementHour:'Decrement Hour',\n incrementMinute: 'Increment Minute',\n pickMinute: 'Pick Minute',\n decrementMinute:'Decrement Minute',\n incrementSecond: 'Increment Second',\n pickSecond: 'Pick Second',\n decrementSecond:'Decrement Second'\n}\n\n\n\n\nThis will change the \ntooltips\n over each icon to a custom string.\n\n\ntooltips\n\n\nReturns an \nOjbect\n of \noptions.tooltips\n \n\n\ntooltips, [tooltips]\n\n\nTakes an \nOjbect\n of \nstrings\n.\n\n\nThrows\n\n\n\n\nTypeError\n - if \ntooltips\n parameter is not an \nOjbect\n\n\n\n\n\n\ntimeZone\n\n\ntimeZone: ''\n\n\n\nAllows the setting of the Time Zone. You must include \nmoment-timezone.js\n and \nmoment-timzone\n data. See moment timezone documentation for usage.\n\n\ntimeZone\n\n\nReturns an \nstring\n of \noptions.timeZone\n \n\n\ntimeZone, [timeZone]\n\n\nTakes an \nstring\n of a valid timezone.\n\n\nThrows\n\n\n\n\nTypeError\n - if \ntooltips\n parameter is not an \nstring\n\n\n\n\n\n\nallowMultidate\n\n\nallowMultidate: false\n\n\n\nAllows the setting of multiple dates.\n\n\nallowMultidate\n\n\nReturns an \nboolean\n of \noptions.allowMultidate\n \n\n\nallowMultidate, [allowMultidate]\n\n\nTakes an \nboolean\n.\n\n\nThrows\n\n\n\n\nTypeError\n - if \nallowMultidate\n parameter is not an \nboolean\n\n\n\n\n\n\nmultidateSeparator\n\n\nmultidateSeparator: ','\n\n\n\nUsed with \nallowMultidate\n. E.g. \n1/1/2017,1/2/2017\n\n\nmultidateSeparator\n\n\nReturns an \nstring\n of \noptions.multidateSeparator\n \n\n\nmultidateSeparator, [multidateSeparator]\n\n\nTakes an \nstring\n of a valid timezone.\n\n\nThrows\n\n\n\n\nTypeError\n - if \nmultidateSeparator\n parameter is not an \nstring\n\n\nTypeError\n - if \nmultidateSeparator\n parameter is longer then 1 character",
290
+ "text": "Options\n\n\n\n \nNote\n\n Initialize options as \n \n$('#datetimepicker').datetimepicker({\n sideBySide: true,\n debug: true\n })\n\n\n\n\n\n\n \nNote\n\n To set options use \n$('#datetimepicker').datetimepicker('sideBySide', true)\n\n\n\n\n\n\n \nNote\n\n To get option value use \n$('#datetimepicker').datetimepicker('sideBySide')\n\n\n\n\n\nGlobal defaults can be get/set by \n$.fn.datetimepicker.Constructor.Default\n\n\ne.g. To set icons to use Font Awesome 5\n\n\n$.fn.datetimepicker.Constructor.Default = $.extend({}, $.fn.datetimepicker.Constructor.Default, {\n icons: {\n time: 'far fa-clock',\n date: 'far fa-calendar',\n up: 'far fa-arrow-up',\n down: 'far fa-arrow-down',\n previous: 'far fa-chevron-left',\n next: 'far fa-chevron-right',\n today: 'far fa-calendar-check-o',\n clear: 'far fa-trash',\n close: 'far fa-times'\n } });\n\n\n\n\nDo this \nbefore\n you init pickers.\n\n\n\n\n\noptions\n\n\nReturns the components current options object. Note that the changing the values of the returned object does not change the components actual configuration. Use \noptions(options)\n to set the components options massively or the other methods for setting config options individually.\n\n\noptions, [options]\n\n\nTakes an object variable with option key:value properties and configures the component. Use this to update multiple options on the component.\n\n\n\n\ndate\n\n\nReturns the component's model current date, a \nmoment\n object or \nnull\n if not set.\n\n\ndate, [newDate]\n\n\nTakes \nstring, Date, moment, null\n parameter and sets the components model current moment to it. Passing a \nnull\n value unsets the components model current moment. Parsing of the \nnewDate\n parameter is made using moment library with the \noptions.format\n and \noptions.useStrict\n components configuration.\n\n\nThrows\n\n\n\n\nTypeError\n - in case the \nnewDate\n cannot be parsed\n\n\n\n\nEmits\n\n\n\n\nchange.datetimepicker\n - In case \nnewDate\n is different from current moment\n\n\n\n\n\n\nformat\n\n\nDefault: false\n\n\n\nSee \nmomentjs' docs\n for valid formats. Format also dictates what components are shown, e.g. \nMM/dd/YYYY\n will not display the time picker.\n\n\nformat\n\n\nReturns the component's \noptions.format\n \nstring\n\n\nformat, [format]\n\n\nTakes a \nmoment.js\n format \nstring\n and sets the components \noptions.format\n. This is used for displaying and also for parsing input strings either from the input element the component is attached to or the \ndate()\n function.\nThe parameter can also be a \nboolean:false\n in which case the format is set to the locale's \nL LT\n.\n\n\nNote:\n this is also used to determine if the time picker sub component will display the hours in 12 or 24 format. (if \na\n or \nh\n exists in the passed \nstring\n then a 12 hour mode is set)\n\n\n\n\ndayViewHeaderFormat\n\n\nDefault: 'MMMM YYYY'\n\n\n\nChanges the heading of the date picker when in \"days\" view.\n\n\n\n\ndayViewHeaderFormat\n\n\nReturns a \nstring\n variable with the currently set \noptions.dayViewHeaderFormat\n option.\n\n\ndayViewHeaderFormat, [string]\n\n\nTakes a \nstring\n value.\n\n\nUsed to customize the header of the day view.\n\n\n\n\nextraFormats\n\n\nDefault: false\n\n\n\nAllows for several input formats to be valid. See \nthis PR\n.\n\n\nextraFormats\n\n\nReturns a \nboolean\n or array with the \noptions.extraFormats\n option configuration\n\n\nextraFormats, [formats]\n\n\nTakes an array of valid input moment format options.\n\n\n\n\nstepping\n\n\nDefault: 1\n\n\n\nNumber of minutes the up/down arrow's will move the minutes value in the time picker\n\n\nstepping\n\n\nReturns a \nnumber\n with the \noptions.stepping\n option configuration\n\n\nstepping, [number]\n\n\nTakes a \nnumber\n. This be the amount the up/down arrows move the minute value with a time picker.\n\n\n\n\nmin/maxDate\n\n\nDefault: false\nAccepts: date, moment, string\n\n\n\nPrevents date/time selections before this date. Will override \ndefaultDate\n and \nuseCurrent\n if either of these settings are the same day since both options are invalid according to the rules you've selected.\n\n\nminDate\n\n\nReturns the currently set moment of the \noptions.minDate\n or \nfalse\n if not set\n\n\nminDate, [minDate]\n\n\nTakes a \nminDate\n \nstring, Date, moment, boolean:false\n parameter and disallows the user to select a moment that is before that moment. If a \nboolean:false\n value is passed the \noptions.minDate\n parameter is cleared and there is no restriction to the minimum moment the user can select. \n\n\nNote:\n If the \nminDate\n parameter is after the currently selected moment the currently selected moment changes to minDate parameter\n\n\nThrows\n\n\n\n\n\n\nTypeError\n - if \nminDate\n parameter cannot be parsed using the \noptions.format\n and \noptions.useStrict\n configuration settings\n\n\n\n\n\n\nTypeError\n - if \nminDate\n parameter is after \noptions.maxDate\n\n\n\n\n\n\nEmits\n\n\n\n\n\n\nchange.datetimepicker\n - if the new \nminDate\n is after currently selected moment (waiting for #472 to close in order to finalize this part)\n\n\n\n\n\n\ndp.error\n - if the new \nminDate\n is after currently selected moment (waiting for #472 to close in order to finalize this part)\n\n\n\n\n\n\n\n\nmaxDate\n\n\nReturns the currently set moment of the \noptions.maxDate\n or \nfalse\n if not set\n\n\nmaxDate, [maxDate]\n\n\nTakes a [maxDate] \nstring, Date, moment, boolean:false\n parameter and disallows the user to select a moment that is after that moment. If a \nboolean:false\n value is passed \noptions.maxDate\n is cleared and there is no restriction to the maximum moment the user can select.\n\n\nNote:\n If [maxDate] is before the currently selected moment the currently selected moment changes to [maxDate]\n\n\nThrows\n\n\n\n\n\n\nTypeError\n - if \nmaxDate\n parameter cannot be parsed using the \noptions.format\n and \noptions.useStrict\n configuration settings\n\n\n\n\n\n\nTypeError\n - if \nmaxDate\n parameter is before \noptions.minDate\n\n\n\n\n\n\nEmits\n\n\n\n\n\n\nchange.datetimepicker\n - if the new \nmaxDate\n is after currently selected moment (waiting for #472 to close in order to finalize this part)\n\n\n\n\n\n\ndp.error\n - if the new \nmaxDate\n is after currently selected moment (waiting for #472 to close in order to finalize this part)\n\n\n\n\n\n\n\n\nuseCurrent\n\n\nDefault: true\n\n\n\nOn \nshow\n, will set the picker to the current date/time.\n\n\nuseCurrent\n\n\nReturns a \nboolean\n or \nstring\n with the \noptions.useCurrent\n option configuration\n\n\nuseCurrent, boolean or string\n\n\nTakes a \nboolean\n or \nstring\n. If a \nboolean\n true is passed and the components model moment is not set (either through \nsetDate\n or through a valid value on the input element the component is attached to) then the first time the user opens the datetimepicker widget the value is initialized to the current moment of the action. If a false \nboolean\n is passed then no initialization happens on the input element. You can select the granularity on the initialized moment by passing one of the following strings (\n'year', 'month', 'day', 'hour', 'minute'\n) in the variable.\n\n\nIf for example you pass \n'day'\n to the \nsetUseCurrent\n function and the input field is empty the first time the user opens the datetimepicker widget the input text will be initialized to the current date time with day granularity (e.g. if current time = \n2014-08-10 13:32:33\n the input value will be initialized to \n2014-08-10 00:00:00\n)\n\n\nNote:\n If the \noptions.defaultDate\n is set or the input element the component is attached to has already a value that takes precedence and the functionality of \nuseCurrent\n is not triggered!\n\n\n\n\ncollapse\n\n\nDefault: true\n\n\n\nUsing a Bootstraps collapse to switch between date/time pickers.\n\n\ncollapse\n\n\nReturns a \nboolean\n of the \noptions.sideBySide\n.\n\n\ncollapse, [collapse]\n\n\nTakes a \nboolean\n. If set to \nfalse\n the picker will display similar to \nsideBySide\n except vertical.\n\n\n\n\nlocale\n\n\nDefault: moment.locale()\nAccepts: string, moment.local('locale')\n\n\n\nSee \nmomentjs\n for valid locales.\n\n\nYou must include \nmoment-with-locales.js\n or a local js file.\n\n\nlocale\n\n\nReturns the currently set locale of the \noptions.locale\n\n\nlocale, [newLocale]\n\n\nTakes a \nstring\n of any valid \nmoment locale\n e.g. \nde\n for German.\n\n\nThrows\n\n\n\n\nTypeError\n - if the locale is not loaded via a separate script or \nmoment-with-locales\n\n\n\n\n\n\ndefaultDate\n\n\nDefault: false\nAccepts: date, moment, string\n\n\n\nSets the picker default date/time. Overrides \nuseCurrent\n\n\ndefaultDate\n\n\nReturns a \nmoment\n with the \noptions.defaultDate\n option configuration or \nfalse\n if not set\n\n\ndefaultDate, [defaultDate]\n\n\nTakes a \nstring, Date, moment, boolean:false\n. Will set the picker's initial date. If a \nboolean:false\n value is passed the \noptions.defaultDate\n parameter is cleared. \n\n\n\n\n\n\nTypeError\n - if the provided date pass validation, including \ndisabledDates\n, \nenabledDates\n, \nminDate\n, \nmaxDate\n, and \ndaysOfWeekDisabled\n\n\n\n\n\n\nTypeError\n - if the provided date cannot be parsed by moment.js\n\n\n\n\n\n\n\n\nen/disabledDates\n\n\nDefault: false\nAccepts: array of [date, moment, string]\n\n\n\ndisabledDates\n\n\nReturns an array with the currently set disabled dates on the component.\n\n\ndisabledDates, [dates]\n\n\nTakes an \n[\n \nstring\n or \nDate\n or \nmoment\n \n]\n of values and disallows the user to select those days. Setting this takes precedence over \noptions.minDate\n, \noptions.maxDate\n configuration. Also calling this function removes the configuration of options.enabledDates if such exist.\n\n\nNote:\n These values are matched with \nDay\n granularity.\n\n\n\n\nenabledDates\n\n\nReturns an array with the currently set enabled dates on the component.\n\n\nenabledDates, [dates]\n\n\nTakes an \n[\n \nstring\n or \nDate\n or \nmoment\n \n]\n of values and allows the user to select only from those days. Setting this takes precedence over \noptions.minDate\n, \noptions.maxDate\n configuration. Also calling this function removes the configuration of \noptions.disabledDates\n if such exist.\n\n\nNote:\n These values are matched with \nDay\n granularity.\n\n\n\n\nicons\n\n\nDefault: {\n time: 'fa fa-clock-o',\n date: 'fa fa-calendar',\n up: 'fa fa-arrow-up',\n down: 'fa fa-arrow-down',\n previous: 'fa fa-chevron-left',\n next: 'fa fa-chevron-right',\n today: 'fa fa-calendar-check-o',\n clear: 'fa fa-delete',\n close: 'fa fa-times'\n }\nAccepts: object with all or some of the parameters above\n\n\n\nChange the default icons for the pickers functions.\n\n\nicons\n\n\nReturns an \nOjbect\n of \noptions.icons\n \n\n\nicons, [icons]\n\n\nTakes an \nOjbect\n of \nstrings\n.\n\n\nThrows\n\n\n\n\nTypeError\n - if icons parameter is not an \nOjbect\n\n\n\n\n\n\nuseStrict\n\n\nDefault: false\n\n\n\nDefines if moment should use strict date parsing when considering a date to be valid.\n\n\nuseStrict\n\n\nReturns a \nboolean\n of the \noptions.useStrict\n\n\nuseStrict, [useStrict]\n\n\nTakes a \nboolean\n. If \nuseStrict\n is \ntrue\n, moment.js parsing rules will be stricter when determining if a date is valid or not.\n\n\n\n\nsideBySide\n\n\nDefault: false\n\n\n\nShows the picker side by side when using the time and date together.\n\n\n\n\nsideBySide\n\n\nReturns a \nboolean\n of the \noptions.sideBySide\n.\n\n\nsideBySide, [sideBySide]\n\n\nTakes a \nboolean\n. If \nsideBySide\n is \ntrue\n and the time picker is used, both components will display side by side instead of collapsing.\n\n\n\n\ndaysOfWeekDisabled\n\n\nDefault: []\nAccepts: array of numbers from 0-6\n\n\n\nDisables the section of days of the week, e.g. weekends.\n\n\ndaysOfWeekDisabled\n\n\nReturns an array with the \noptions.daysOfWeekDisabled\n configuration setting of the component.\n\n\ndaysOfWeekDisabled, [daysOfWeek]\n\n\nTakes an \n[\n \nNumber\n:\n0\n to \n6\n \n]\n and disallow the user to select weekdays that exist in this array. This has lower priority over the \noptions.minDate\n, \noptions.maxDate\n, \noptions.disabledDates\n and \noptions.enabledDates\n configuration settings.\n\n\nEmits\n\n\n\n\n\n\nchange.datetimepicker\n - if the currently selected moment falls in the values passed on the daysOfWeek parameter. (waiting for #472 to close in order to finalize this part)\n\n\n\n\n\n\ndp.error\n - if the currently selected moment falls in the values passed on the daysOfWeek parameter. (waiting for #472 to close in order to finalize this part)\n\n\n\n\n\n\n\n\ncalendarWeeks\n\n\nDefault: false\n\n\n\nShows the week of the year to the left of first day of the week.\n\n\n\n\ncalendarWeeks\n\n\nReturns a \nboolean\n with the current \noptions.calendarWeeks\n option configuration\n\n\ncalendarWeeks, [boolean]\n\n\nTakes a \nboolean\n variable to set if the week numbers will appear to the left on the days view\n\n\n\n\nviewMode\n\n\nDefault: 'days'\nAccepts: 'decades','years','months','days', 'times'\n\n\n\nThe default view to display when the picker is shown.\n\n\nNote\n: To limit the picker to selecting, for instance the year and month, use \nformat: MM/YYYY\n.\n\n\nviewMode\n\n\nReturns a \nstring\n of the \noptions.viewMode\n.\n\n\nviewMode, [newViewMode]\n\n\nTakes a \nstring\n. Valid values are \n'days'\n, \n'months'\n, \n'years'\n and \n'decades'\n\n\nThrows\n\n\n\n\nTypeError\n - if \nnewViewMode\n parameter is not an a \nstring\n or if \nnewViewMode\n is not a valid value.\n\n\n\n\n\n\ntoolbarPlacement\n\n\nDefault: 'default'\nAccepts: 'default', 'top', 'bottom'\n\n\n\nChanges the placement of the icon toolbar.\n\n\n\n\ntoolbarplacement\n\n\nReturns a \nstring\n variable with the currently set \noptions.toolbarplacement\n option.\n\n\ntoolbarplacement, [string]\n\n\nTakes a \nstring\n value. Valid values are \n'default'\n, \n'top'\n and \n'bottom'\n.\n\n\nChanges the placement of the toolbar where the today, clear, component switch icon are located.\n\n\n\n\nbuttons\n\n\nDefault: {\n showToday: false,\n showClear: false,\n showClose: false\n }\nAccepts: object with all or some of the parameters above\n\n\n\nChange the default toolbar buttons for the pickers functions.\n\n\nbuttons\n\n\nReturns an \nOjbect\n of \noptions.buttons\n \n\n\nbuttons, [buttons]\n\n\nTakes an \nOjbect\n of \nboolean\n.\n\n\nThrows\n\n\n\n\nTypeError\n - if buttons parameter is not an \nOjbect\n\n\n\n\n\n\nwidgetPositioning\n\n\nDefault: {\n horizontal: 'auto'\n vertical: 'auto'\n }\nAccepts: object with the all or one of the parameters above\n horizontal: 'auto', 'left', 'right'\n vertical: 'auto', 'top', 'bottom'\n\n\n\nwidgetPositioning\n\n\nReturns the currently set \noptions.widgetPositioning\n object containing two keys \nhorizontal\n and \nvertical\n\n\nwidgetPositioning, [positioningObject]\n\n\nTakes an object parameter that can contain two keys \nvertical\n and \nhorizontal\n each having a value of \n'auto', 'top', 'bottom'\n for \nvertical\n and \n'auto', 'left', 'right'\n for \nhorizontal\n which defines where the dropdown with the widget will appear relative to the input element the component is attached to.\n\n\n'auto'\n is the default value for both \nhorizontal\n and \nvertical\n keys and it tries to automatically place the dropdown in a position that is visible to the user. Usually you should not override those options unless you have a special need in your layout.\n\n\n\n\nwidgetParent\n\n\nDefault: null\nAccepts: string or jQuery object\n\n\n\nOn picker show, places the widget at the identifier (string) or jQuery object \nif\n the element has css \nposition: 'relative'\n\n\nwidgetParent\n\n\nReturns a \n$(element)\n variable with the currently set \noptions.widgetParent\n option.\n\n\nwidgetParent, [widgetParent]\n\n\nTakes a \nstring\n or \n$(element)\n value.\n\n\n\n\nkeepOpen\n\n\nDefault: false\n\n\n\nWill cause the date picker to stay open after selecting a date.\n\n\nkeepOpen\n\n\nReturns a \nboolean\n variable with the currently set \noptions.keepOpen\n option.\n\n\nkeepOpen, [boolean]\n\n\nTakes a \nboolean\n value.\n\n\n\n\ninline\n\n\nDefault: false\n\n\n\nWill display the picker inline without the need of a input field. This will also hide borders and shadows.\n\n\ninline\n\n\nReturns a \nboolean\n variable with the currently set \noptions.inline\n option.\n\n\ninline, [boolean]\n\n\nTakes a \nboolean\n value.\n\n\n\n\nkeepInvalid\n\n\n4.7.14\n\n\nDefault: false\n\n\n\nWill cause the date picker to \nnot\n revert or overwrite invalid dates.\n\n\nkeepInvalid\n\n\nReturns a \nstring\n variable with the currently set \noptions.keepInvalid\n option.\n\n\nkeepInvalid, [boolean]\n\n\nTakes a \nboolean\n value.\n\n\nIf \ntrue\n, invalid dates will not be reverted to a previous selection or changed.\n\n\n\n\nkeyBinds\n\n\nDefault: up: function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().subtract(7, 'd'));\n } else {\n this.date(this.date().clone().add(1, 'm'));\n }\n },\n down: function (widget) {\n if (!widget) {\n this.show();\n }\n else if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().add(7, 'd'));\n } else {\n this.date(this.date().clone().subtract(1, 'm'));\n }\n },\n 'control up': function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().subtract(1, 'y'));\n } else {\n this.date(this.date().clone().add(1, 'h'));\n }\n },\n 'control down': function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().add(1, 'y'));\n } else {\n this.date(this.date().clone().subtract(1, 'h'));\n }\n },\n left: function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().subtract(1, 'd'));\n }\n },\n right: function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().add(1, 'd'));\n }\n },\n pageUp: function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().subtract(1, 'M'));\n }\n },\n pageDown: function (widget) {\n if (widget.find('.datepicker').is(':visible')) {\n this.date(this.date().clone().add(1, 'M'));\n }\n },\n enter: function () {\n this.hide();\n },\n escape: function () {\n this.hide();\n },\n 'control space': function (widget) {\n if (widget.find('.timepicker').is(':visible')) {\n widget.find('.btn[data-action=\"togglePeriod\"]').click();\n }\n },\n t: function () {\n this.date(moment());\n },\n 'delete': function () {\n this.clear();\n }\n\n\n\nAllows for custom events to fire on keyboard press.\n\n\nkeyBinds\n\n\nReturns a \nstring\n variable with the currently set \noptions.keyBinds\n option.\n\n\nkeyBinds, [object]\n\n\nTakes an \nobject\n value.\n\n\nAllows for several \nkeyBinding\n functions to be specified for ease of access or accessibility. See the options page for defaults.\n\n\n\n\ndebug\n\n\nDefault: false\n\n\n\nWill cause the date picker to stay open after a \nblur\n event.\n\n\n\n\nignoreReadonly\n\n\nDefault: false\n\n\n\nAllow date picker show event to fire even when the associated input element has the \nreadonly=\"readonly\"\n property.\n\n\nignoreReadonly\n\n\nReturns a \nboolean\n variable with the currently set \noptions.ignoreReadonly\n option.\n\n\nignoreReadonly, [boolean]\n\n\nTakes a \nboolean\n value.\n\n\nSet this to \ntrue\n to allow the picker to be used even if the input field is \nreadonly\n. This will \nnot\n bypass the \ndisabled\n property\n\n\n\n\ndisabledTimeIntervals\n\n\nDefault: false\n\n\n\nDisables time selection between the given \nmoments\n.\n\n\ndisabledTimeIntervals\n\n\nReturns an \narray\n variable with the currently set \noptions.disabledTimeIntervals\n option.\n\n\ndisabledTimeIntervals, [array]\n\n\nTakes a \narray\n value.\n\n\nThe array \nmust\n be in the following format \n[moment(),moment()]\n\n\nFor example:\n\n\ndisabledTimeIntervals: [[moment({ h: 0 }), moment({ h: 8 })], [moment({ h: 18 }), moment({ h: 24 })]]\n\n\n\nWill disable times between 12-8am and 6-12pm today\n\n\n\n\nallowInputToggle\n\n\nDefault: false\n\n\n\nIf \ntrue\n, the picker will show on textbox focus and icon click when used in a button group.\n\n\nallowInputToggle\n\n\nReturns a \nboolean\n variable with the currently set \noptions.allowInputToggle\n option.\n\n\nallowInputToggle, [boolean]\n\n\nTakes a \nboolean\n value.\n\n\nIf \ntrue\n, the picker will show on textbox focus and icon click when used in a button group\n\n\n\n\nfocusOnShow\n\n\nDefault: true\n\n\n\nIf \nfalse\n, the textbox will not be given focus when the picker is shown.\n\n\nfocusOnShow\n\n\nReturns a \nboolean\n variable with the currently set \noptions.focusOnShow\n option.\n\n\nfocusOnShow, [boolean]\n\n\nTakes a \nboolean\n value.\n\n\nIf \nfalse\n, the textbox will not be given focus when the picker is shown\n\n\n\n\nen/disabledHours\n\n\nDefault: false\n\n\n\ndisabledHours\n\n\nReturns an \narray\n variable with the currently set \noptions.en/disabledHours\n option.\n\n\ndisabledHours, boolean\n\n\nTakes a \narray\n value.\n\n\nMust be in 24 hour format. Will allow or disallow hour selections (much like \ndisabledTimeIntervals\n) but will affect all days.\n\n\nLike \nen/disabledDates\n, these options are mutually exclusive and will reset one of the options back to false.\n\n\ndisabledHours: [0, 1, 2, 3, 4, 5, 6, 7, 8, 18, 19, 20, 21, 22, 23, 24]\nenabledHours: [9, 10, 11, 12, 13, 14, 15, 16]\n\n\n\n\n\nviewDate\n\n\nDefault: false\n\n\n\nThis will change the \nviewDate\n without changing or setting the selected date.\n\n\n\n\nparseInputDate\n\n\nparseInputDate\n\n\nReturns a \nfunction\n with the currently set \noptions.parseInputDate\n\n\nparseInputDate, [function]\n\n\nTakes a \nfunction\n\n\nAllows custom input formatting For example: the user can enter 'yesterday' or '30 days ago.\n\n\nExample:\n\n\nvar parseRelativeDate = function(relativeDate) {\n\n switch (relativeDate) {\n case 'today':\n return moment()\n case 'yesterday':\n return moment().subtract(1, 'day');\n default:\n return moment()\n .subtract(Number(relativeDate.replace(\"days ago\", \"\").trim()), 'days');\n }\n}\n\nvar parseInputDate = function(inputDate) {\n var relativeDatePattern = /today|yesterday|[0-9]+\\s+(days ago)/,\n resultDate;\n\n if (moment.isMoment(inputDate) || inputDate instanceof Date) {\n resultDate = moment(inputDate);\n } else {\n var relativeDate = inputDate.match(relativeDatePattern),\n parseDate = null;\n\n if (relativeDate !== null) \n parseDate = this.parseRelativeDate(inputDate.match(relativeDatePattern)[0]);\n else \n parseDate = moment();\n\n resultDate = moment(parseDate, \"YYYY-MM-DD\");\n }\n\n return resultDate;\n}\n\n\n\n\n\n\ntooltips\n\n\ntooltips: {\n today: 'Go to today',\n clear: 'Clear selection',\n close: 'Close the picker',\n selectMonth: 'Select Month',\n prevMonth: 'Previous Month',\n nextMonth: 'Next Month',\n selectYear: 'Select Year',\n prevYear: 'Previous Year',\n nextYear: 'Next Year',\n selectDecade: 'Select Decade',\n prevDecade: 'Previous Decade',\n nextDecade: 'Next Decade',\n prevCentury: 'Previous Century',\n nextCentury: 'Next Century',,\n incrementHour: 'Increment Hour',\n pickHour: 'Pick Hour',\n decrementHour:'Decrement Hour',\n incrementMinute: 'Increment Minute',\n pickMinute: 'Pick Minute',\n decrementMinute:'Decrement Minute',\n incrementSecond: 'Increment Second',\n pickSecond: 'Pick Second',\n decrementSecond:'Decrement Second'\n}\n\n\n\n\nThis will change the \ntooltips\n over each icon to a custom string.\n\n\ntooltips\n\n\nReturns an \nOjbect\n of \noptions.tooltips\n \n\n\ntooltips, [tooltips]\n\n\nTakes an \nOjbect\n of \nstrings\n.\n\n\nThrows\n\n\n\n\nTypeError\n - if \ntooltips\n parameter is not an \nOjbect\n\n\n\n\n\n\ntimeZone\n\n\ntimeZone: ''\n\n\n\nAllows the setting of the Time Zone. You must include \nmoment-timezone.js\n and \nmoment-timzone\n data. See moment timezone documentation for usage.\n\n\ntimeZone\n\n\nReturns an \nstring\n of \noptions.timeZone\n \n\n\ntimeZone, [timeZone]\n\n\nTakes an \nstring\n of a valid timezone.\n\n\nThrows\n\n\n\n\nTypeError\n - if \ntooltips\n parameter is not an \nstring\n\n\n\n\n\n\nallowMultidate\n\n\nallowMultidate: false\n\n\n\nAllows the setting of multiple dates.\n\n\nallowMultidate\n\n\nReturns an \nboolean\n of \noptions.allowMultidate\n \n\n\nallowMultidate, [allowMultidate]\n\n\nTakes an \nboolean\n.\n\n\nThrows\n\n\n\n\nTypeError\n - if \nallowMultidate\n parameter is not an \nboolean\n\n\n\n\n\n\nmultidateSeparator\n\n\nmultidateSeparator: ','\n\n\n\nUsed with \nallowMultidate\n. E.g. \n1/1/2017,1/2/2017\n\n\nmultidateSeparator\n\n\nReturns an \nstring\n of \noptions.multidateSeparator\n \n\n\nmultidateSeparator, [multidateSeparator]\n\n\nTakes an \nstring\n of a valid timezone.\n\n\nThrows\n\n\n\n\nTypeError\n - if \nmultidateSeparator\n parameter is not an \nstring\n\n\nTypeError\n - if \nmultidateSeparator\n parameter is longer then 1 character",
296
291
  "title": "Options"
297
292
  },
298
293
  {
@@ -612,7 +607,7 @@
612
607
  },
613
608
  {
614
609
  "location": "/Options/#viewmode",
615
- "text": "Default: 'days'\nAccepts: 'decades','years','months','days' The default view to display when the picker is shown. Note : To limit the picker to selecting, for instance the year and month, use format: MM/YYYY .",
610
+ "text": "Default: 'days'\nAccepts: 'decades','years','months','days', 'times' The default view to display when the picker is shown. Note : To limit the picker to selecting, for instance the year and month, use format: MM/YYYY .",
616
611
  "title": "viewMode"
617
612
  },
618
613
  {
@@ -4,7 +4,7 @@
4
4
 
5
5
  <url>
6
6
  <loc>/</loc>
7
- <lastmod>2018-03-15</lastmod>
7
+ <lastmod>2018-10-06</lastmod>
8
8
  <changefreq>daily</changefreq>
9
9
  </url>
10
10
 
@@ -12,7 +12,7 @@
12
12
 
13
13
  <url>
14
14
  <loc>/Usage/</loc>
15
- <lastmod>2018-03-15</lastmod>
15
+ <lastmod>2018-10-06</lastmod>
16
16
  <changefreq>daily</changefreq>
17
17
  </url>
18
18
 
@@ -20,7 +20,7 @@
20
20
 
21
21
  <url>
22
22
  <loc>/Installing/</loc>
23
- <lastmod>2018-03-15</lastmod>
23
+ <lastmod>2018-10-06</lastmod>
24
24
  <changefreq>daily</changefreq>
25
25
  </url>
26
26
 
@@ -28,7 +28,7 @@
28
28
 
29
29
  <url>
30
30
  <loc>/Functions/</loc>
31
- <lastmod>2018-03-15</lastmod>
31
+ <lastmod>2018-10-06</lastmod>
32
32
  <changefreq>daily</changefreq>
33
33
  </url>
34
34
 
@@ -36,7 +36,7 @@
36
36
 
37
37
  <url>
38
38
  <loc>/Options/</loc>
39
- <lastmod>2018-03-15</lastmod>
39
+ <lastmod>2018-10-06</lastmod>
40
40
  <changefreq>daily</changefreq>
41
41
  </url>
42
42
 
@@ -44,7 +44,7 @@
44
44
 
45
45
  <url>
46
46
  <loc>/Events/</loc>
47
- <lastmod>2018-03-15</lastmod>
47
+ <lastmod>2018-10-06</lastmod>
48
48
  <changefreq>daily</changefreq>
49
49
  </url>
50
50
 
@@ -52,7 +52,7 @@
52
52
 
53
53
  <url>
54
54
  <loc>/Changelog/</loc>
55
- <lastmod>2018-03-15</lastmod>
55
+ <lastmod>2018-10-06</lastmod>
56
56
  <changefreq>daily</changefreq>
57
57
  </url>
58
58
 
@@ -60,7 +60,7 @@
60
60
 
61
61
  <url>
62
62
  <loc>/ContributorsGuide/</loc>
63
- <lastmod>2018-03-15</lastmod>
63
+ <lastmod>2018-10-06</lastmod>
64
64
  <changefreq>daily</changefreq>
65
65
  </url>
66
66
 
@@ -68,7 +68,7 @@
68
68
 
69
69
  <url>
70
70
  <loc>/Extras/</loc>
71
- <lastmod>2018-03-15</lastmod>
71
+ <lastmod>2018-10-06</lastmod>
72
72
  <changefreq>daily</changefreq>
73
73
  </url>
74
74
 
@@ -76,7 +76,7 @@
76
76
 
77
77
  <url>
78
78
  <loc>/FAQ/</loc>
79
- <lastmod>2018-03-15</lastmod>
79
+ <lastmod>2018-10-06</lastmod>
80
80
  <changefreq>daily</changefreq>
81
81
  </url>
82
82
 
@@ -25,9 +25,7 @@
25
25
  {%- endblock %}
26
26
 
27
27
  {%- block styles %}
28
- <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/css/bootstrap.min.css" integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy" crossorigin="anonymous">
29
- <link rel="stylesheet" href="https://getbootstrap.com/assets/css/docs.min.css" />
30
- <!--<link rel="stylesheet" href="https://v4-alpha.getbootstrap.com/assets/css/docs.min.css" />-->
28
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/css/bootstrap.min.css" integrity="sha256-Md8eaeo67OiouuXAi8t/Xpd8t2+IaJezATVTWbZqSOw=" crossorigin="anonymous" />
31
29
  <link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.css" />
32
30
  {%- for path in extra_css %}
33
31
  <link href="{{ path }}" rel="stylesheet">
@@ -41,16 +39,18 @@
41
39
  <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.min.js"></script>
42
40
  <![endif]-->
43
41
  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
44
- <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
45
- <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/js/bootstrap.min.js" integrity="sha384-a5N7Y/aK3qNeh15eJKGWxsqtnX/wWdSZSKp+81YjTmS15nvnvxKHuzaWwXHDli+4" crossorigin="anonymous"></script>
46
- <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.19.4/moment-with-locales.min.js"></script>
47
- <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.14/moment-timezone-with-data-2012-2022.min.js"></script>
42
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha256-98vAGjEDGN79TjHkYWVD4s87rvWkdWLHPs5MC3FvFX4=" crossorigin="anonymous"></script>
43
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.1.1/js/bootstrap.min.js" integrity="sha256-xaF9RpdtRxzwYMWg4ldJoyPWqyDPCRD0Cv7YEEe6Ie8=" crossorigin="anonymous"></script>
44
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment-with-locales.min.js"></script>
45
+ <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment-timezone/0.5.21/moment-timezone-with-data-2012-2022.min.js"></script>
48
46
  {%- endblock %}
49
47
  {%- block scripts %}
50
48
  <script>var base_url = '{{ base_url }}';</script>
51
- <!--<script data-main="{{ base_url }}/mkdocs/js/search.js" src="{{ base_url }}/mkdocs/js/require.js"></script>-->
52
49
  {%- for path in extra_javascript %}
50
+ {% if 'search' in path %}
51
+ {% else %}
53
52
  <script src="{{ path }}"></script>
53
+ {% endif %}
54
54
  {%- endfor %}
55
55
  {%- endblock %}
56
56
 
@@ -77,11 +77,10 @@
77
77
  {%- endblock %}
78
78
  </div>
79
79
  </div>
80
- {% else %}
81
- {% include "content.html" %}
80
+ {% else %}
81
+ {% include "content.html" %}
82
82
  {% endif %}
83
83
 
84
- {%- include "search-modal.html" %}
85
84
  <script>
86
85
  if (top !== self) { top.location.replace(self.location.href); }
87
86
  if (location.hostname !== "localhost" && location.hostname !== "127.0.0.1") {
@@ -95,7 +94,7 @@
95
94
  m = s.getElementsByTagName(o)[0];
96
95
  a.async = 1;
97
96
  a.src = g;
98
- m.parentNode.insertBefore(a, m)
97
+ m.parentNode.insertBefore(a, m);
99
98
  })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
100
99
 
101
100
  ga('create', 'UA-47462200-1', 'eonasdan.github.io');
@@ -21,3 +21,1685 @@
21
21
  background-color: #144287;
22
22
  border-color: #144287;
23
23
  }
24
+
25
+
26
+ /*!
27
+ * Bootstrap Docs (https://getbootstrap.com/)
28
+ * Copyright 2011-2018 The Bootstrap Authors
29
+ * Copyright 2011-2018 Twitter, Inc.
30
+ * Licensed under the Creative Commons Attribution 3.0 Unported License. For
31
+ * details, see https://creativecommons.org/licenses/by/3.0/.
32
+ */ .bd-navbar {
33
+ min-height: 4rem;
34
+ background-color: #563d7c;
35
+ box-shadow: 0 .5rem 1rem rgba(0,0,0,.05),inset 0 -1px 0 rgba(0,0,0,.1)
36
+ }
37
+
38
+ @media (max-width:991.98px) {
39
+ .bd-navbar {
40
+ padding-right: .5rem;
41
+ padding-left: .5rem
42
+ }
43
+
44
+ .bd-navbar .navbar-nav-scroll {
45
+ max-width: 100%;
46
+ height: 2.5rem;
47
+ margin-top: .25rem;
48
+ overflow: hidden;
49
+ font-size: .875rem
50
+ }
51
+
52
+ .bd-navbar .navbar-nav-scroll .navbar-nav {
53
+ padding-bottom: 2rem;
54
+ overflow-x: auto;
55
+ white-space: nowrap;
56
+ -webkit-overflow-scrolling: touch
57
+ }
58
+ }
59
+
60
+ @media (min-width:768px) {
61
+ @supports ((position:-webkit-sticky) or (position:sticky)) {
62
+ .bd-navbar {
63
+ position: -webkit-sticky;
64
+ position: sticky;
65
+ top: 0;
66
+ z-index: 1071
67
+ }
68
+ }
69
+ }
70
+
71
+ .bd-navbar .navbar-nav .nav-link {
72
+ padding-right: .5rem;
73
+ padding-left: .5rem;
74
+ color: #cbbde2
75
+ }
76
+
77
+ .bd-navbar .navbar-nav .nav-link.active, .bd-navbar .navbar-nav .nav-link:hover {
78
+ color: #fff;
79
+ background-color: transparent
80
+ }
81
+
82
+ .bd-navbar .navbar-nav .nav-link.active {
83
+ font-weight: 500
84
+ }
85
+
86
+ .bd-navbar .navbar-nav-svg {
87
+ display: inline-block;
88
+ width: 1rem;
89
+ height: 1rem;
90
+ vertical-align: text-top
91
+ }
92
+
93
+ .bd-navbar .dropdown-menu {
94
+ font-size: .875rem
95
+ }
96
+
97
+ .bd-navbar .dropdown-item.active {
98
+ font-weight: 500;
99
+ color: #212529;
100
+ background-color: transparent;
101
+ background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23292b2c' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");
102
+ background-repeat: no-repeat;
103
+ background-position: .4rem .6rem;
104
+ background-size: .75rem .75rem
105
+ }
106
+
107
+ .bd-masthead {
108
+ position: relative;
109
+ padding: 3rem 15px
110
+ }
111
+
112
+ .bd-masthead h1 {
113
+ line-height: 1
114
+ }
115
+
116
+ .bd-masthead .btn {
117
+ width: 100%;
118
+ padding: .8rem 2rem;
119
+ font-size: 1.25rem;
120
+ font-weight: 500
121
+ }
122
+
123
+ .bd-masthead .carbonad {
124
+ margin-top: 0 !important;
125
+ margin-bottom: -3rem !important
126
+ }
127
+
128
+ @media (min-width:576px) {
129
+ .bd-masthead {
130
+ padding-top: 5rem;
131
+ padding-bottom: 5rem
132
+ }
133
+
134
+ .bd-masthead .carbonad {
135
+ margin-bottom: 0 !important
136
+ }
137
+ }
138
+
139
+ @media (min-width:768px) {
140
+ .bd-masthead h1 {
141
+ font-size: 4rem
142
+ }
143
+
144
+ .bd-masthead .carbonad {
145
+ margin-top: 3rem !important
146
+ }
147
+ }
148
+
149
+ .half-rule {
150
+ width: 6rem;
151
+ margin: 2.5rem 0
152
+ }
153
+
154
+ .masthead-followup .bd-clipboard {
155
+ display: none
156
+ }
157
+
158
+ .masthead-followup .highlight {
159
+ padding: .5rem 0;
160
+ background-color: transparent
161
+ }
162
+
163
+ #carbonads {
164
+ position: static;
165
+ display: block;
166
+ max-width: 400px;
167
+ padding: 15px 15px 15px 160px;
168
+ margin: 2rem 0;
169
+ overflow: hidden;
170
+ font-size: 13px;
171
+ line-height: 1.4;
172
+ text-align: left;
173
+ background-color: rgba(0,0,0,.05)
174
+ }
175
+
176
+ #carbonads a {
177
+ color: #333;
178
+ text-decoration: none
179
+ }
180
+
181
+ @media (min-width:576px) {
182
+ #carbonads {
183
+ max-width: 330px;
184
+ border-radius: 4px
185
+ }
186
+ }
187
+
188
+ .carbon-img {
189
+ float: left;
190
+ margin-left: -145px
191
+ }
192
+
193
+ .carbon-poweredby {
194
+ display: block;
195
+ color: #777 !important
196
+ }
197
+
198
+ .bd-content {
199
+ -ms-flex-order: 1;
200
+ order: 1
201
+ }
202
+
203
+ .bd-content > h2[id], .bd-content > h3[id], .bd-content > h4[id] {
204
+ pointer-events: none
205
+ }
206
+
207
+ .bd-content > h2[id] > a, .bd-content > h2[id] > div, .bd-content > h3[id] > a, .bd-content > h3[id] > div, .bd-content > h4[id] > a, .bd-content > h4[id] > div {
208
+ pointer-events: auto
209
+ }
210
+
211
+ .bd-content > h2[id]::before, .bd-content > h3[id]::before, .bd-content > h4[id]::before {
212
+ display: block;
213
+ height: 6rem;
214
+ margin-top: -6rem;
215
+ visibility: hidden;
216
+ content: ""
217
+ }
218
+
219
+ .bd-content > table {
220
+ width: 100%;
221
+ max-width: 100%;
222
+ margin-bottom: 1rem
223
+ }
224
+
225
+ @media (max-width:991.98px) {
226
+ .bd-content > table {
227
+ display: block;
228
+ overflow-x: auto;
229
+ -ms-overflow-style: -ms-autohiding-scrollbar
230
+ }
231
+
232
+ .bd-content > table.table-bordered {
233
+ border: 0
234
+ }
235
+ }
236
+
237
+ .bd-content > table > tbody > tr > td, .bd-content > table > tbody > tr > th, .bd-content > table > tfoot > tr > td, .bd-content > table > tfoot > tr > th, .bd-content > table > thead > tr > td, .bd-content > table > thead > tr > th {
238
+ padding: .75rem;
239
+ vertical-align: top;
240
+ border: 1px solid #dee2e6
241
+ }
242
+
243
+ .bd-content > table > tbody > tr > td > p:last-child, .bd-content > table > tbody > tr > th > p:last-child, .bd-content > table > tfoot > tr > td > p:last-child, .bd-content > table > tfoot > tr > th > p:last-child, .bd-content > table > thead > tr > td > p:last-child, .bd-content > table > thead > tr > th > p:last-child {
244
+ margin-bottom: 0
245
+ }
246
+
247
+ .bd-content > table td:first-child > code {
248
+ white-space: nowrap
249
+ }
250
+
251
+ .bd-content > h2:not(:first-child) {
252
+ margin-top: 3rem
253
+ }
254
+
255
+ .bd-content > h3 {
256
+ margin-top: 1.5rem
257
+ }
258
+
259
+ .bd-content > ol li, .bd-content > ul li {
260
+ margin-bottom: .25rem
261
+ }
262
+
263
+ @media (min-width:992px) {
264
+ .bd-content > ol, .bd-content > p, .bd-content > ul {
265
+ max-width: 80%
266
+ }
267
+ }
268
+
269
+ .bd-title {
270
+ margin-top: 1rem;
271
+ margin-bottom: .5rem;
272
+ font-weight: 300
273
+ }
274
+
275
+ @media (min-width:576px) {
276
+ .bd-title {
277
+ font-size: 3rem
278
+ }
279
+ }
280
+
281
+ .bd-lead {
282
+ font-size: 1.125rem;
283
+ font-weight: 300
284
+ }
285
+
286
+ @media (min-width:576px) {
287
+ .bd-lead {
288
+ max-width: 80%;
289
+ margin-bottom: 1rem;
290
+ font-size: 1.5rem
291
+ }
292
+ }
293
+
294
+ .bd-text-purple {
295
+ color: #563d7c
296
+ }
297
+
298
+ .bd-text-purple-bright {
299
+ color: #7952b3
300
+ }
301
+
302
+ #skippy {
303
+ display: block;
304
+ padding: 1em;
305
+ color: #fff;
306
+ background-color: #563d7c;
307
+ outline: 0
308
+ }
309
+
310
+ #skippy .skiplink-text {
311
+ padding: .5em;
312
+ outline: 1px dotted
313
+ }
314
+
315
+ .bd-toc {
316
+ -ms-flex-order: 2;
317
+ order: 2;
318
+ padding-top: 1.5rem;
319
+ padding-bottom: 1.5rem;
320
+ font-size: .875rem
321
+ }
322
+
323
+ @supports ((position:-webkit-sticky) or (position:sticky)) {
324
+ .bd-toc {
325
+ position: -webkit-sticky;
326
+ position: sticky;
327
+ top: 4rem;
328
+ height: calc(100vh - 4rem);
329
+ overflow-y: auto
330
+ }
331
+ }
332
+
333
+ .section-nav {
334
+ padding-left: 0;
335
+ border-left: 1px solid #eee
336
+ }
337
+
338
+ .section-nav ul {
339
+ padding-left: 1rem
340
+ }
341
+
342
+ .section-nav ul ul {
343
+ display: none
344
+ }
345
+
346
+ .toc-entry {
347
+ display: block
348
+ }
349
+
350
+ .toc-entry a {
351
+ display: block;
352
+ padding: .125rem 1.5rem;
353
+ color: #99979c
354
+ }
355
+
356
+ .toc-entry a:hover {
357
+ color: #007bff;
358
+ text-decoration: none
359
+ }
360
+
361
+ .bd-sidebar {
362
+ -ms-flex-order: 0;
363
+ order: 0;
364
+ border-bottom: 1px solid rgba(0,0,0,.1)
365
+ }
366
+
367
+ @media (min-width:768px) {
368
+ .bd-sidebar {
369
+ border-right: 1px solid rgba(0,0,0,.1)
370
+ }
371
+
372
+ @supports ((position:-webkit-sticky) or (position:sticky)) {
373
+ .bd-sidebar {
374
+ position: -webkit-sticky;
375
+ position: sticky;
376
+ top: 4rem;
377
+ z-index: 1000;
378
+ height: calc(100vh - 4rem)
379
+ }
380
+ }
381
+ }
382
+
383
+ @media (min-width:1200px) {
384
+ .bd-sidebar {
385
+ -ms-flex: 0 1 320px;
386
+ flex: 0 1 320px
387
+ }
388
+ }
389
+
390
+ .bd-links {
391
+ padding-top: 1rem;
392
+ padding-bottom: 1rem;
393
+ margin-right: -15px;
394
+ margin-left: -15px
395
+ }
396
+
397
+ @media (min-width:768px) {
398
+ @supports ((position:-webkit-sticky) or (position:sticky)) {
399
+ .bd-links {
400
+ max-height: calc(100vh - 9rem);
401
+ overflow-y: auto
402
+ }
403
+ }
404
+ }
405
+
406
+ @media (min-width:768px) {
407
+ .bd-links {
408
+ display: block !important
409
+ }
410
+ }
411
+
412
+ .bd-search {
413
+ position: relative;
414
+ padding: 1rem 15px;
415
+ margin-right: -15px;
416
+ margin-left: -15px;
417
+ border-bottom: 1px solid rgba(0,0,0,.05)
418
+ }
419
+
420
+ .bd-search .form-control:focus {
421
+ border-color: #7952b3;
422
+ box-shadow: 0 0 0 3px rgba(121,82,179,.25)
423
+ }
424
+
425
+ .bd-search-docs-toggle {
426
+ line-height: 1;
427
+ color: #212529
428
+ }
429
+
430
+ .bd-sidenav {
431
+ display: none
432
+ }
433
+
434
+ .bd-toc-link {
435
+ display: block;
436
+ padding: .25rem 1.5rem;
437
+ font-weight: 500;
438
+ color: rgba(0,0,0,.65)
439
+ }
440
+
441
+ .bd-toc-link:hover {
442
+ color: rgba(0,0,0,.85);
443
+ text-decoration: none
444
+ }
445
+
446
+ .bd-toc-item.active {
447
+ margin-bottom: 1rem
448
+ }
449
+
450
+ .bd-toc-item.active:not(:first-child) {
451
+ margin-top: 1rem
452
+ }
453
+
454
+ .bd-toc-item.active > .bd-toc-link {
455
+ color: rgba(0,0,0,.85)
456
+ }
457
+
458
+ .bd-toc-item.active > .bd-toc-link:hover {
459
+ background-color: transparent
460
+ }
461
+
462
+ .bd-toc-item.active > .bd-sidenav {
463
+ display: block
464
+ }
465
+
466
+ .bd-sidebar .nav > li > a {
467
+ display: block;
468
+ padding: .25rem 1.5rem;
469
+ font-size: 90%;
470
+ color: rgba(0,0,0,.65)
471
+ }
472
+
473
+ .bd-sidebar .nav > li > a:hover {
474
+ color: rgba(0,0,0,.85);
475
+ text-decoration: none;
476
+ background-color: transparent
477
+ }
478
+
479
+ .bd-sidebar .nav > .active:hover > a, .bd-sidebar .nav > .active > a {
480
+ font-weight: 500;
481
+ color: rgba(0,0,0,.85);
482
+ background-color: transparent
483
+ }
484
+
485
+ .bd-footer {
486
+ font-size: 85%;
487
+ text-align: center;
488
+ background-color: #f7f7f7
489
+ }
490
+
491
+ .bd-footer a {
492
+ font-weight: 500;
493
+ color: #495057
494
+ }
495
+
496
+ .bd-footer a:focus, .bd-footer a:hover {
497
+ color: #007bff
498
+ }
499
+
500
+ .bd-footer p {
501
+ margin-bottom: 0
502
+ }
503
+
504
+ @media (min-width:576px) {
505
+ .bd-footer {
506
+ text-align: left
507
+ }
508
+ }
509
+
510
+ .bd-footer-links {
511
+ padding-left: 0;
512
+ margin-bottom: 1rem
513
+ }
514
+
515
+ .bd-footer-links li {
516
+ display: inline-block
517
+ }
518
+
519
+ .bd-footer-links li + li {
520
+ margin-left: 1rem
521
+ }
522
+
523
+ .bd-example-row .row > .col, .bd-example-row .row > [class^=col-] {
524
+ padding-top: .75rem;
525
+ padding-bottom: .75rem;
526
+ background-color: rgba(86,61,124,.15);
527
+ border: 1px solid rgba(86,61,124,.2)
528
+ }
529
+
530
+ .bd-example-row .row + .row {
531
+ margin-top: 1rem
532
+ }
533
+
534
+ .bd-example-row .flex-items-bottom, .bd-example-row .flex-items-middle, .bd-example-row .flex-items-top {
535
+ min-height: 6rem;
536
+ background-color: rgba(255,0,0,.1)
537
+ }
538
+
539
+ .bd-example-row-flex-cols .row {
540
+ min-height: 10rem;
541
+ background-color: rgba(255,0,0,.1)
542
+ }
543
+
544
+ .bd-highlight {
545
+ background-color: rgba(86,61,124,.15);
546
+ border: 1px solid rgba(86,61,124,.15)
547
+ }
548
+
549
+ .example-container {
550
+ width: 800px;
551
+ width: 100%;
552
+ padding-right: 15px;
553
+ padding-left: 15px;
554
+ margin-right: auto;
555
+ margin-left: auto
556
+ }
557
+
558
+ .example-row {
559
+ display: -ms-flexbox;
560
+ display: flex;
561
+ -ms-flex-wrap: wrap;
562
+ flex-wrap: wrap;
563
+ margin-right: -15px;
564
+ margin-left: -15px
565
+ }
566
+
567
+ .example-content-main {
568
+ position: relative;
569
+ width: 100%;
570
+ min-height: 1px;
571
+ padding-right: 15px;
572
+ padding-left: 15px
573
+ }
574
+
575
+ @media (min-width:576px) {
576
+ .example-content-main {
577
+ -ms-flex: 0 0 50%;
578
+ flex: 0 0 50%;
579
+ max-width: 50%
580
+ }
581
+ }
582
+
583
+ @media (min-width:992px) {
584
+ .example-content-main {
585
+ -ms-flex: 0 0 66.666667%;
586
+ flex: 0 0 66.666667%;
587
+ max-width: 66.666667%
588
+ }
589
+ }
590
+
591
+ .example-content-secondary {
592
+ position: relative;
593
+ width: 100%;
594
+ min-height: 1px;
595
+ padding-right: 15px;
596
+ padding-left: 15px
597
+ }
598
+
599
+ @media (min-width:576px) {
600
+ .example-content-secondary {
601
+ -ms-flex: 0 0 50%;
602
+ flex: 0 0 50%;
603
+ max-width: 50%
604
+ }
605
+ }
606
+
607
+ @media (min-width:992px) {
608
+ .example-content-secondary {
609
+ -ms-flex: 0 0 33.333333%;
610
+ flex: 0 0 33.333333%;
611
+ max-width: 33.333333%
612
+ }
613
+ }
614
+
615
+ .bd-example-container {
616
+ min-width: 16rem;
617
+ max-width: 25rem;
618
+ margin-right: auto;
619
+ margin-left: auto
620
+ }
621
+
622
+ .bd-example-container-header {
623
+ height: 3rem;
624
+ margin-bottom: .5rem;
625
+ background-color: #fff;
626
+ border-radius: .25rem
627
+ }
628
+
629
+ .bd-example-container-sidebar {
630
+ float: right;
631
+ width: 4rem;
632
+ height: 8rem;
633
+ background-color: #80bdff;
634
+ border-radius: .25rem
635
+ }
636
+
637
+ .bd-example-container-body {
638
+ height: 8rem;
639
+ margin-right: 4.5rem;
640
+ background-color: #957bbe;
641
+ border-radius: .25rem
642
+ }
643
+
644
+ .bd-example-container-fluid {
645
+ max-width: none
646
+ }
647
+
648
+ .bd-example {
649
+ position: relative;
650
+ padding: 1rem;
651
+ margin: 1rem -15px 0;
652
+ border: solid #f8f9fa;
653
+ border-width: .2rem 0 0
654
+ }
655
+
656
+ .bd-example::after {
657
+ display: block;
658
+ clear: both;
659
+ content: ""
660
+ }
661
+
662
+ @media (min-width:576px) {
663
+ .bd-example {
664
+ padding: 1.5rem;
665
+ margin-right: 0;
666
+ margin-left: 0;
667
+ border-width: .2rem
668
+ }
669
+ }
670
+
671
+ .bd-example + .clipboard + .highlight, .bd-example + .highlight {
672
+ margin-top: 0
673
+ }
674
+
675
+ .bd-example + p {
676
+ margin-top: 2rem
677
+ }
678
+
679
+ .bd-example .pos-f-t {
680
+ position: relative;
681
+ margin: -1rem
682
+ }
683
+
684
+ @media (min-width:576px) {
685
+ .bd-example .pos-f-t {
686
+ margin: -1.5rem
687
+ }
688
+ }
689
+
690
+ .bd-example .custom-file-input:lang(es) ~ .custom-file-label::after {
691
+ content: "Elegir"
692
+ }
693
+
694
+ .bd-example > .form-control + .form-control {
695
+ margin-top: .5rem
696
+ }
697
+
698
+ .bd-example > .alert + .alert, .bd-example > .nav + .nav, .bd-example > .navbar + .navbar, .bd-example > .progress + .btn, .bd-example > .progress + .progress {
699
+ margin-top: 1rem
700
+ }
701
+
702
+ .bd-example > .dropdown-menu:first-child {
703
+ position: static;
704
+ display: block
705
+ }
706
+
707
+ .bd-example > .form-group:last-child {
708
+ margin-bottom: 0
709
+ }
710
+
711
+ .bd-example > .close {
712
+ float: none
713
+ }
714
+
715
+ .bd-example-type .table .type-info {
716
+ color: #999;
717
+ vertical-align: middle
718
+ }
719
+
720
+ .bd-example-type .table td {
721
+ padding: 1rem 0;
722
+ border-color: #eee
723
+ }
724
+
725
+ .bd-example-type .table tr:first-child td {
726
+ border-top: 0
727
+ }
728
+
729
+ .bd-example-type h1, .bd-example-type h2, .bd-example-type h3, .bd-example-type h4, .bd-example-type h5, .bd-example-type h6 {
730
+ margin-top: 0;
731
+ margin-bottom: 0
732
+ }
733
+
734
+ .bd-example-bg-classes p {
735
+ padding: 1rem
736
+ }
737
+
738
+ .bd-example > img + img {
739
+ margin-left: .5rem
740
+ }
741
+
742
+ .bd-example > .btn-group {
743
+ margin-top: .25rem;
744
+ margin-bottom: .25rem
745
+ }
746
+
747
+ .bd-example > .btn-toolbar + .btn-toolbar {
748
+ margin-top: .5rem
749
+ }
750
+
751
+ .bd-example-control-sizing input[type=text] + input[type=text], .bd-example-control-sizing select {
752
+ margin-top: .5rem
753
+ }
754
+
755
+ .bd-example-form .input-group {
756
+ margin-bottom: .5rem
757
+ }
758
+
759
+ .bd-example > textarea.form-control {
760
+ resize: vertical
761
+ }
762
+
763
+ .bd-example > .list-group {
764
+ max-width: 400px
765
+ }
766
+
767
+ .bd-example .fixed-top, .bd-example .sticky-top {
768
+ position: static;
769
+ margin: -1rem -1rem 1rem
770
+ }
771
+
772
+ .bd-example .fixed-bottom {
773
+ position: static;
774
+ margin: 1rem -1rem -1rem
775
+ }
776
+
777
+ @media (min-width:576px) {
778
+ .bd-example .fixed-top, .bd-example .sticky-top {
779
+ margin: -1.5rem -1.5rem 1rem
780
+ }
781
+
782
+ .bd-example .fixed-bottom {
783
+ margin: 1rem -1.5rem -1.5rem
784
+ }
785
+ }
786
+
787
+ .bd-example .pagination {
788
+ margin-top: .5rem;
789
+ margin-bottom: .5rem
790
+ }
791
+
792
+ .modal {
793
+ z-index: 1072
794
+ }
795
+
796
+ .modal .popover, .modal .tooltip {
797
+ z-index: 1073
798
+ }
799
+
800
+ .modal-backdrop {
801
+ z-index: 1071
802
+ }
803
+
804
+ .bd-example-modal {
805
+ background-color: #fafafa
806
+ }
807
+
808
+ .bd-example-modal .modal {
809
+ position: relative;
810
+ top: auto;
811
+ right: auto;
812
+ bottom: auto;
813
+ left: auto;
814
+ z-index: 1;
815
+ display: block
816
+ }
817
+
818
+ .bd-example-modal .modal-dialog {
819
+ left: auto;
820
+ margin-right: auto;
821
+ margin-left: auto
822
+ }
823
+
824
+ .bd-example-tabs .nav-tabs {
825
+ margin-bottom: 1rem
826
+ }
827
+
828
+ .bd-example-popover-static {
829
+ padding-bottom: 1.5rem;
830
+ background-color: #f9f9f9
831
+ }
832
+
833
+ .bd-example-popover-static .popover {
834
+ position: relative;
835
+ display: block;
836
+ float: left;
837
+ width: 260px;
838
+ margin: 1.25rem
839
+ }
840
+
841
+ .tooltip-demo a {
842
+ white-space: nowrap
843
+ }
844
+
845
+ .bd-example-tooltip-static .tooltip {
846
+ position: relative;
847
+ display: inline-block;
848
+ margin: 10px 20px;
849
+ opacity: 1
850
+ }
851
+
852
+ .scrollspy-example {
853
+ position: relative;
854
+ height: 200px;
855
+ margin-top: .5rem;
856
+ overflow: auto
857
+ }
858
+
859
+ .scrollspy-example-2 {
860
+ position: relative;
861
+ height: 350px;
862
+ overflow: auto
863
+ }
864
+
865
+ .bd-example-border-utils [class^=border] {
866
+ display: inline-block;
867
+ width: 5rem;
868
+ height: 5rem;
869
+ margin: .25rem;
870
+ background-color: #f5f5f5
871
+ }
872
+
873
+ .bd-example-border-utils-0 [class^=border] {
874
+ border: 1px solid #dee2e6
875
+ }
876
+
877
+ .highlight {
878
+ padding: 1rem;
879
+ margin-top: 1rem;
880
+ margin-bottom: 1rem;
881
+ background-color: #f8f9fa;
882
+ -ms-overflow-style: -ms-autohiding-scrollbar
883
+ }
884
+
885
+ @media (min-width:576px) {
886
+ .highlight {
887
+ padding: 1.5rem
888
+ }
889
+ }
890
+
891
+ .bd-content .highlight {
892
+ margin-right: -15px;
893
+ margin-left: -15px
894
+ }
895
+
896
+ @media (min-width:576px) {
897
+ .bd-content .highlight {
898
+ margin-right: 0;
899
+ margin-left: 0
900
+ }
901
+ }
902
+
903
+ .highlight pre {
904
+ padding: 0;
905
+ margin-top: 0;
906
+ margin-bottom: 0;
907
+ background-color: transparent;
908
+ border: 0
909
+ }
910
+
911
+ .highlight pre code {
912
+ font-size: inherit;
913
+ color: #212529
914
+ }
915
+
916
+ .btn-bd-primary {
917
+ font-weight: 500;
918
+ color: #7952b3;
919
+ border-color: #7952b3
920
+ }
921
+
922
+ .btn-bd-primary:active, .btn-bd-primary:hover {
923
+ color: #fff;
924
+ background-color: #7952b3;
925
+ border-color: #7952b3
926
+ }
927
+
928
+ .btn-bd-primary:focus {
929
+ box-shadow: 0 0 0 3px rgba(121,82,179,.25)
930
+ }
931
+
932
+ .btn-bd-download {
933
+ font-weight: 500;
934
+ color: #ffe484;
935
+ border-color: #ffe484
936
+ }
937
+
938
+ .btn-bd-download:active, .btn-bd-download:hover {
939
+ color: #2a2730;
940
+ background-color: #ffe484;
941
+ border-color: #ffe484
942
+ }
943
+
944
+ .btn-bd-download:focus {
945
+ box-shadow: 0 0 0 3px rgba(255,228,132,.25)
946
+ }
947
+
948
+ .bd-callout {
949
+ padding: 1.25rem;
950
+ margin-top: 1.25rem;
951
+ margin-bottom: 1.25rem;
952
+ border: 1px solid #eee;
953
+ border-left-width: .25rem;
954
+ border-radius: .25rem
955
+ }
956
+
957
+ .bd-callout h4 {
958
+ margin-top: 0;
959
+ margin-bottom: .25rem
960
+ }
961
+
962
+ .bd-callout p:last-child {
963
+ margin-bottom: 0
964
+ }
965
+
966
+ .bd-callout code {
967
+ border-radius: .25rem
968
+ }
969
+
970
+ .bd-callout + .bd-callout {
971
+ margin-top: -.25rem
972
+ }
973
+
974
+ .bd-callout-info {
975
+ border-left-color: #5bc0de
976
+ }
977
+
978
+ .bd-callout-info h4 {
979
+ color: #5bc0de
980
+ }
981
+
982
+ .bd-callout-warning {
983
+ border-left-color: #f0ad4e
984
+ }
985
+
986
+ .bd-callout-warning h4 {
987
+ color: #f0ad4e
988
+ }
989
+
990
+ .bd-callout-danger {
991
+ border-left-color: #d9534f
992
+ }
993
+
994
+ .bd-callout-danger h4 {
995
+ color: #d9534f
996
+ }
997
+
998
+ .bd-examples .img-thumbnail {
999
+ margin-bottom: .75rem
1000
+ }
1001
+
1002
+ .bd-examples h4 {
1003
+ margin-bottom: .25rem
1004
+ }
1005
+
1006
+ .bd-examples p {
1007
+ margin-bottom: 1.25rem
1008
+ }
1009
+
1010
+ @media (max-width:480px) {
1011
+ .bd-examples {
1012
+ margin-right: -.75rem;
1013
+ margin-left: -.75rem
1014
+ }
1015
+
1016
+ .bd-examples > [class^=col-] {
1017
+ padding-right: .75rem;
1018
+ padding-left: .75rem
1019
+ }
1020
+ }
1021
+
1022
+ .bd-browser-bugs td p {
1023
+ margin-bottom: 0
1024
+ }
1025
+
1026
+ .bd-browser-bugs th:first-child {
1027
+ width: 18%
1028
+ }
1029
+
1030
+ .bd-brand-logos {
1031
+ display: table;
1032
+ width: 100%;
1033
+ margin-bottom: 1rem;
1034
+ overflow: hidden;
1035
+ color: #563d7c;
1036
+ background-color: #f9f9f9;
1037
+ border-radius: .25rem
1038
+ }
1039
+
1040
+ .bd-brand-item {
1041
+ padding: 4rem 0;
1042
+ text-align: center
1043
+ }
1044
+
1045
+ .bd-brand-item + .bd-brand-item {
1046
+ border-top: 1px solid #fff
1047
+ }
1048
+
1049
+ .bd-brand-logos .inverse {
1050
+ color: #fff;
1051
+ background-color: #563d7c
1052
+ }
1053
+
1054
+ .bd-brand-item h1, .bd-brand-item h3 {
1055
+ margin-top: 0;
1056
+ margin-bottom: 0
1057
+ }
1058
+
1059
+ .bd-brand-item .bd-booticon {
1060
+ margin-right: auto;
1061
+ margin-left: auto
1062
+ }
1063
+
1064
+ @media (min-width:768px) {
1065
+ .bd-brand-item {
1066
+ display: table-cell;
1067
+ width: 1%
1068
+ }
1069
+
1070
+ .bd-brand-item + .bd-brand-item {
1071
+ border-top: 0;
1072
+ border-left: 1px solid #fff
1073
+ }
1074
+
1075
+ .bd-brand-item h1 {
1076
+ font-size: 4rem
1077
+ }
1078
+ }
1079
+
1080
+ .color-swatches {
1081
+ margin: 0 -5px;
1082
+ overflow: hidden
1083
+ }
1084
+
1085
+ .color-swatch {
1086
+ float: left;
1087
+ width: 4rem;
1088
+ height: 4rem;
1089
+ margin-right: .25rem;
1090
+ margin-left: .25rem;
1091
+ border-radius: .25rem
1092
+ }
1093
+
1094
+ @media (min-width:768px) {
1095
+ .color-swatch {
1096
+ width: 6rem;
1097
+ height: 6rem
1098
+ }
1099
+ }
1100
+
1101
+ .color-swatches .bd-purple {
1102
+ background-color: #563d7c
1103
+ }
1104
+
1105
+ .color-swatches .bd-purple-light {
1106
+ background-color: #cbbde2
1107
+ }
1108
+
1109
+ .color-swatches .bd-purple-lighter {
1110
+ background-color: #e5e1ea
1111
+ }
1112
+
1113
+ .color-swatches .bd-gray {
1114
+ background-color: #f9f9f9
1115
+ }
1116
+
1117
+ .swatch-blue {
1118
+ color: #fff;
1119
+ background-color: #007bff
1120
+ }
1121
+
1122
+ .swatch-indigo {
1123
+ color: #fff;
1124
+ background-color: #6610f2
1125
+ }
1126
+
1127
+ .swatch-purple {
1128
+ color: #fff;
1129
+ background-color: #6f42c1
1130
+ }
1131
+
1132
+ .swatch-pink {
1133
+ color: #fff;
1134
+ background-color: #e83e8c
1135
+ }
1136
+
1137
+ .swatch-red {
1138
+ color: #fff;
1139
+ background-color: #dc3545
1140
+ }
1141
+
1142
+ .swatch-orange {
1143
+ color: #212529;
1144
+ background-color: #fd7e14
1145
+ }
1146
+
1147
+ .swatch-yellow {
1148
+ color: #212529;
1149
+ background-color: #ffc107
1150
+ }
1151
+
1152
+ .swatch-green {
1153
+ color: #fff;
1154
+ background-color: #28a745
1155
+ }
1156
+
1157
+ .swatch-teal {
1158
+ color: #fff;
1159
+ background-color: #20c997
1160
+ }
1161
+
1162
+ .swatch-cyan {
1163
+ color: #fff;
1164
+ background-color: #17a2b8
1165
+ }
1166
+
1167
+ .swatch-white {
1168
+ color: #212529;
1169
+ background-color: #fff
1170
+ }
1171
+
1172
+ .swatch-gray {
1173
+ color: #fff;
1174
+ background-color: #6c757d
1175
+ }
1176
+
1177
+ .swatch-gray-dark {
1178
+ color: #fff;
1179
+ background-color: #343a40
1180
+ }
1181
+
1182
+ .swatch-primary {
1183
+ color: #fff;
1184
+ background-color: #007bff
1185
+ }
1186
+
1187
+ .swatch-secondary {
1188
+ color: #fff;
1189
+ background-color: #6c757d
1190
+ }
1191
+
1192
+ .swatch-success {
1193
+ color: #fff;
1194
+ background-color: #28a745
1195
+ }
1196
+
1197
+ .swatch-info {
1198
+ color: #fff;
1199
+ background-color: #17a2b8
1200
+ }
1201
+
1202
+ .swatch-warning {
1203
+ color: #212529;
1204
+ background-color: #ffc107
1205
+ }
1206
+
1207
+ .swatch-danger {
1208
+ color: #fff;
1209
+ background-color: #dc3545
1210
+ }
1211
+
1212
+ .swatch-light {
1213
+ color: #212529;
1214
+ background-color: #f8f9fa
1215
+ }
1216
+
1217
+ .swatch-dark {
1218
+ color: #fff;
1219
+ background-color: #343a40
1220
+ }
1221
+
1222
+ .swatch-100 {
1223
+ color: #212529;
1224
+ background-color: #f8f9fa
1225
+ }
1226
+
1227
+ .swatch-200 {
1228
+ color: #212529;
1229
+ background-color: #e9ecef
1230
+ }
1231
+
1232
+ .swatch-300 {
1233
+ color: #212529;
1234
+ background-color: #dee2e6
1235
+ }
1236
+
1237
+ .swatch-400 {
1238
+ color: #212529;
1239
+ background-color: #ced4da
1240
+ }
1241
+
1242
+ .swatch-500 {
1243
+ color: #212529;
1244
+ background-color: #adb5bd
1245
+ }
1246
+
1247
+ .swatch-600 {
1248
+ color: #fff;
1249
+ background-color: #6c757d
1250
+ }
1251
+
1252
+ .swatch-700 {
1253
+ color: #fff;
1254
+ background-color: #495057
1255
+ }
1256
+
1257
+ .swatch-800 {
1258
+ color: #fff;
1259
+ background-color: #343a40
1260
+ }
1261
+
1262
+ .swatch-900 {
1263
+ color: #fff;
1264
+ background-color: #212529
1265
+ }
1266
+
1267
+ .bd-clipboard {
1268
+ position: relative;
1269
+ display: none;
1270
+ float: right
1271
+ }
1272
+
1273
+ .bd-clipboard + .highlight {
1274
+ margin-top: 0
1275
+ }
1276
+
1277
+ .btn-clipboard {
1278
+ position: absolute;
1279
+ top: .5rem;
1280
+ right: .5rem;
1281
+ z-index: 10;
1282
+ display: block;
1283
+ padding: .25rem .5rem;
1284
+ font-size: 75%;
1285
+ color: #818a91;
1286
+ cursor: pointer;
1287
+ background-color: transparent;
1288
+ border: 0;
1289
+ border-radius: .25rem
1290
+ }
1291
+
1292
+ .btn-clipboard:hover {
1293
+ color: #fff;
1294
+ background-color: #027de7
1295
+ }
1296
+
1297
+ @media (min-width:768px) {
1298
+ .bd-clipboard {
1299
+ display: block
1300
+ }
1301
+ }
1302
+
1303
+ .hll {
1304
+ background-color: #ffc
1305
+ }
1306
+
1307
+ .c {
1308
+ color: #999
1309
+ }
1310
+
1311
+ .k {
1312
+ color: #069
1313
+ }
1314
+
1315
+ .o {
1316
+ color: #555
1317
+ }
1318
+
1319
+ .cm {
1320
+ color: #999
1321
+ }
1322
+
1323
+ .cp {
1324
+ color: #099
1325
+ }
1326
+
1327
+ .c1 {
1328
+ color: #999
1329
+ }
1330
+
1331
+ .cs {
1332
+ color: #999
1333
+ }
1334
+
1335
+ .gd {
1336
+ background-color: #fcc;
1337
+ border: 1px solid #c00
1338
+ }
1339
+
1340
+ .ge {
1341
+ font-style: italic
1342
+ }
1343
+
1344
+ .gr {
1345
+ color: red
1346
+ }
1347
+
1348
+ .gh {
1349
+ color: #030
1350
+ }
1351
+
1352
+ .gi {
1353
+ background-color: #cfc;
1354
+ border: 1px solid #0c0
1355
+ }
1356
+
1357
+ .go {
1358
+ color: #aaa
1359
+ }
1360
+
1361
+ .gp {
1362
+ color: #009
1363
+ }
1364
+
1365
+ .gu {
1366
+ color: #030
1367
+ }
1368
+
1369
+ .gt {
1370
+ color: #9c6
1371
+ }
1372
+
1373
+ .kc {
1374
+ color: #069
1375
+ }
1376
+
1377
+ .kd {
1378
+ color: #069
1379
+ }
1380
+
1381
+ .kn {
1382
+ color: #069
1383
+ }
1384
+
1385
+ .kp {
1386
+ color: #069
1387
+ }
1388
+
1389
+ .kr {
1390
+ color: #069
1391
+ }
1392
+
1393
+ .kt {
1394
+ color: #078
1395
+ }
1396
+
1397
+ .m {
1398
+ color: #f60
1399
+ }
1400
+
1401
+ .s {
1402
+ color: #d44950
1403
+ }
1404
+
1405
+ .na {
1406
+ color: #4f9fcf
1407
+ }
1408
+
1409
+ .nb {
1410
+ color: #366
1411
+ }
1412
+
1413
+ .nc {
1414
+ color: #0a8
1415
+ }
1416
+
1417
+ .no {
1418
+ color: #360
1419
+ }
1420
+
1421
+ .nd {
1422
+ color: #99f
1423
+ }
1424
+
1425
+ .ni {
1426
+ color: #999
1427
+ }
1428
+
1429
+ .ne {
1430
+ color: #c00
1431
+ }
1432
+
1433
+ .nf {
1434
+ color: #c0f
1435
+ }
1436
+
1437
+ .nl {
1438
+ color: #99f
1439
+ }
1440
+
1441
+ .nn {
1442
+ color: #0cf
1443
+ }
1444
+
1445
+ .nt {
1446
+ color: #2f6f9f
1447
+ }
1448
+
1449
+ .nv {
1450
+ color: #033
1451
+ }
1452
+
1453
+ .ow {
1454
+ color: #000
1455
+ }
1456
+
1457
+ .w {
1458
+ color: #bbb
1459
+ }
1460
+
1461
+ .mf {
1462
+ color: #f60
1463
+ }
1464
+
1465
+ .mh {
1466
+ color: #f60
1467
+ }
1468
+
1469
+ .mi {
1470
+ color: #f60
1471
+ }
1472
+
1473
+ .mo {
1474
+ color: #f60
1475
+ }
1476
+
1477
+ .sb {
1478
+ color: #c30
1479
+ }
1480
+
1481
+ .sc {
1482
+ color: #c30
1483
+ }
1484
+
1485
+ .sd {
1486
+ font-style: italic;
1487
+ color: #c30
1488
+ }
1489
+
1490
+ .s2 {
1491
+ color: #c30
1492
+ }
1493
+
1494
+ .se {
1495
+ color: #c30
1496
+ }
1497
+
1498
+ .sh {
1499
+ color: #c30
1500
+ }
1501
+
1502
+ .si {
1503
+ color: #a00
1504
+ }
1505
+
1506
+ .sx {
1507
+ color: #c30
1508
+ }
1509
+
1510
+ .sr {
1511
+ color: #3aa
1512
+ }
1513
+
1514
+ .s1 {
1515
+ color: #c30
1516
+ }
1517
+
1518
+ .ss {
1519
+ color: #fc3
1520
+ }
1521
+
1522
+ .bp {
1523
+ color: #366
1524
+ }
1525
+
1526
+ .vc {
1527
+ color: #033
1528
+ }
1529
+
1530
+ .vg {
1531
+ color: #033
1532
+ }
1533
+
1534
+ .vi {
1535
+ color: #033
1536
+ }
1537
+
1538
+ .il {
1539
+ color: #f60
1540
+ }
1541
+
1542
+ .css .nt + .nt, .css .o, .css .o + .nt {
1543
+ color: #999
1544
+ }
1545
+
1546
+ .language-bash::before, .language-sh::before {
1547
+ color: #009;
1548
+ content: "$ ";
1549
+ -webkit-user-select: none;
1550
+ -moz-user-select: none;
1551
+ -ms-user-select: none;
1552
+ user-select: none
1553
+ }
1554
+
1555
+ .language-powershell::before {
1556
+ color: #009;
1557
+ content: "PM> ";
1558
+ -webkit-user-select: none;
1559
+ -moz-user-select: none;
1560
+ -ms-user-select: none;
1561
+ user-select: none
1562
+ }
1563
+
1564
+ .anchorjs-link {
1565
+ font-weight: 400;
1566
+ color: rgba(0,123,255,.5);
1567
+ transition: color .16s linear
1568
+ }
1569
+
1570
+ .anchorjs-link:hover {
1571
+ color: #007bff;
1572
+ text-decoration: none
1573
+ }
1574
+
1575
+ .algolia-autocomplete {
1576
+ display: block !important;
1577
+ -ms-flex: 1;
1578
+ flex: 1
1579
+ }
1580
+
1581
+ .algolia-autocomplete .ds-dropdown-menu {
1582
+ width: 100%;
1583
+ min-width: 0 !important;
1584
+ max-width: none !important;
1585
+ padding: .75rem 0 !important;
1586
+ background-color: #fff;
1587
+ background-clip: padding-box;
1588
+ border: 1px solid rgba(0,0,0,.1);
1589
+ box-shadow: 0 .5rem 1rem rgba(0,0,0,.175)
1590
+ }
1591
+
1592
+ @media (min-width:768px) {
1593
+ .algolia-autocomplete .ds-dropdown-menu {
1594
+ width: 175%
1595
+ }
1596
+ }
1597
+
1598
+ .algolia-autocomplete .ds-dropdown-menu::before {
1599
+ display: none !important
1600
+ }
1601
+
1602
+ .algolia-autocomplete .ds-dropdown-menu [class^=ds-dataset-] {
1603
+ padding: 0 !important;
1604
+ overflow: visible !important;
1605
+ background-color: transparent !important;
1606
+ border: 0 !important
1607
+ }
1608
+
1609
+ .algolia-autocomplete .ds-dropdown-menu .ds-suggestions {
1610
+ margin-top: 0 !important
1611
+ }
1612
+
1613
+ .algolia-autocomplete .algolia-docsearch-suggestion {
1614
+ padding: 0 !important;
1615
+ overflow: visible !important
1616
+ }
1617
+
1618
+ .algolia-autocomplete .algolia-docsearch-suggestion--category-header {
1619
+ padding: .125rem 1rem !important;
1620
+ margin-top: 0 !important;
1621
+ font-size: .875rem !important;
1622
+ font-weight: 500 !important;
1623
+ color: #7952b3 !important;
1624
+ border-bottom: 0 !important
1625
+ }
1626
+
1627
+ .algolia-autocomplete .algolia-docsearch-suggestion--wrapper {
1628
+ float: none !important;
1629
+ padding-top: 0 !important
1630
+ }
1631
+
1632
+ .algolia-autocomplete .algolia-docsearch-suggestion--subcategory-column {
1633
+ float: none !important;
1634
+ width: auto !important;
1635
+ padding: 0 !important;
1636
+ text-align: left !important
1637
+ }
1638
+
1639
+ .algolia-autocomplete .algolia-docsearch-suggestion--content {
1640
+ float: none !important;
1641
+ width: auto !important;
1642
+ padding: 0 !important
1643
+ }
1644
+
1645
+ .algolia-autocomplete .algolia-docsearch-suggestion--content::before {
1646
+ display: none !important
1647
+ }
1648
+
1649
+ .algolia-autocomplete .ds-suggestion:not(:first-child) .algolia-docsearch-suggestion--category-header {
1650
+ padding-top: .75rem !important;
1651
+ margin-top: .75rem !important;
1652
+ border-top: 1px solid rgba(0,0,0,.1)
1653
+ }
1654
+
1655
+ .algolia-autocomplete .ds-suggestion .algolia-docsearch-suggestion--subcategory-column {
1656
+ display: none !important
1657
+ }
1658
+
1659
+ .algolia-autocomplete .algolia-docsearch-suggestion--title {
1660
+ display: block;
1661
+ padding: .25rem 1rem !important;
1662
+ margin-bottom: 0 !important;
1663
+ font-size: .875rem !important;
1664
+ font-weight: 400 !important
1665
+ }
1666
+
1667
+ .algolia-autocomplete .algolia-docsearch-suggestion--text {
1668
+ padding: 0 1rem .5rem !important;
1669
+ margin-top: -.25rem;
1670
+ font-size: .875rem !important;
1671
+ font-weight: 400;
1672
+ line-height: 1.25 !important
1673
+ }
1674
+
1675
+ .algolia-autocomplete .algolia-docsearch-footer {
1676
+ float: none !important;
1677
+ width: auto !important;
1678
+ height: auto !important;
1679
+ padding: .75rem 1rem 0;
1680
+ font-size: .75rem !important;
1681
+ line-height: 1 !important;
1682
+ color: #767676 !important;
1683
+ border-top: 1px solid rgba(0,0,0,.1)
1684
+ }
1685
+
1686
+ .algolia-autocomplete .algolia-docsearch-footer--logo {
1687
+ display: inline !important;
1688
+ overflow: visible !important;
1689
+ color: inherit !important;
1690
+ text-indent: 0 !important;
1691
+ background: 0 0 !important
1692
+ }
1693
+
1694
+ .algolia-autocomplete .algolia-docsearch-suggestion--highlight {
1695
+ color: #5f2dab;
1696
+ background-color: rgba(154,132,187,.12)
1697
+ }
1698
+
1699
+ .algolia-autocomplete .algolia-docsearch-suggestion--text .algolia-docsearch-suggestion--highlight {
1700
+ box-shadow: inset 0 -2px 0 0 rgba(95,45,171,.5) !important
1701
+ }
1702
+
1703
+ .algolia-autocomplete .ds-suggestion.ds-cursor .algolia-docsearch-suggestion--content {
1704
+ background-color: rgba(208,189,236,.15) !important
1705
+ }