inkstream 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (219) hide show
  1. checksums.yaml +4 -4
  2. data/LICENSE.txt +21 -0
  3. data/README.md +95 -0
  4. data/_config.yml +131 -0
  5. data/_includes/button.html +4 -0
  6. data/_includes/icon.html +1 -0
  7. data/_includes/nav-default.html +23 -0
  8. data/_includes/nav-header.html +25 -0
  9. data/_includes/post-list.html +59 -0
  10. data/_includes/post-meta.html +0 -0
  11. data/_includes/post-pagination.html +29 -0
  12. data/_includes/promo-section.html +12 -0
  13. data/_includes/site-before-end.html +1 -0
  14. data/_includes/site-before-start.html +1 -0
  15. data/_includes/site-favicons.html +12 -0
  16. data/_includes/site-fonts.html +13 -0
  17. data/_includes/site-footer-default.html +17 -0
  18. data/_includes/site-footer.html +23 -0
  19. data/_includes/site-header.html +66 -0
  20. data/_includes/site-styles.html +6 -0
  21. data/_layouts/blog.html +24 -0
  22. data/_layouts/default.html +62 -0
  23. data/_layouts/page.html +35 -0
  24. data/_layouts/post.html +201 -0
  25. data/assets/css/styles.css +11167 -0
  26. data/assets/favicon/android-chrome-192x192.png +0 -0
  27. data/assets/favicon/android-chrome-512x512.png +0 -0
  28. data/assets/favicon/apple-touch-icon.png +0 -0
  29. data/assets/favicon/browserconfig.xml +9 -0
  30. data/assets/favicon/favicon-16x16.png +0 -0
  31. data/assets/favicon/favicon-32x32.png +0 -0
  32. data/assets/favicon/favicon.ico +0 -0
  33. data/assets/favicon/favicon.svg +1 -0
  34. data/assets/favicon/mstile-150x150.png +0 -0
  35. data/assets/favicon/safari-pinned-tab.svg +88 -0
  36. data/assets/favicon/site.webmanifest +19 -0
  37. data/assets/images/about-me.jpg +0 -0
  38. data/assets/images/posts/default-post-img.jpg +0 -0
  39. data/assets/images/posts/text-syntax.jpg +0 -0
  40. data/assets/images/posts/welcome.jpg +0 -0
  41. data/assets/images/profile.png +0 -0
  42. data/assets/images/promo-banner.jpg +0 -0
  43. data/assets/js/blog.js +9 -0
  44. data/assets/js/demo/style-switcher.js +45 -0
  45. data/assets/logo/logo.jpg +0 -0
  46. data/assets/logo/logo.svg +1 -0
  47. data/assets/plugins/bootstrap/js/bootstrap.min.js +7 -0
  48. data/assets/plugins/jquery-3.3.1.min.js +2 -0
  49. data/assets/plugins/popper.min.js +5 -0
  50. data/assets/resume/resume.pdf +0 -0
  51. data/assets/scss/bootstrap/js/dist/alert.js +199 -0
  52. data/assets/scss/bootstrap/js/dist/alert.js.map +1 -0
  53. data/assets/scss/bootstrap/js/dist/button.js +187 -0
  54. data/assets/scss/bootstrap/js/dist/button.js.map +1 -0
  55. data/assets/scss/bootstrap/js/dist/carousel.js +668 -0
  56. data/assets/scss/bootstrap/js/dist/carousel.js.map +1 -0
  57. data/assets/scss/bootstrap/js/dist/collapse.js +428 -0
  58. data/assets/scss/bootstrap/js/dist/collapse.js.map +1 -0
  59. data/assets/scss/bootstrap/js/dist/dropdown.js +595 -0
  60. data/assets/scss/bootstrap/js/dist/dropdown.js.map +1 -0
  61. data/assets/scss/bootstrap/js/dist/index.js +23 -0
  62. data/assets/scss/bootstrap/js/dist/index.js.map +1 -0
  63. data/assets/scss/bootstrap/js/dist/modal.js +650 -0
  64. data/assets/scss/bootstrap/js/dist/modal.js.map +1 -0
  65. data/assets/scss/bootstrap/js/dist/popover.js +261 -0
  66. data/assets/scss/bootstrap/js/dist/popover.js.map +1 -0
  67. data/assets/scss/bootstrap/js/dist/scrollspy.js +375 -0
  68. data/assets/scss/bootstrap/js/dist/scrollspy.js.map +1 -0
  69. data/assets/scss/bootstrap/js/dist/tab.js +269 -0
  70. data/assets/scss/bootstrap/js/dist/tab.js.map +1 -0
  71. data/assets/scss/bootstrap/js/dist/toast.js +283 -0
  72. data/assets/scss/bootstrap/js/dist/toast.js.map +1 -0
  73. data/assets/scss/bootstrap/js/dist/tooltip.js +760 -0
  74. data/assets/scss/bootstrap/js/dist/tooltip.js.map +1 -0
  75. data/assets/scss/bootstrap/js/dist/util.js +172 -0
  76. data/assets/scss/bootstrap/js/dist/util.js.map +1 -0
  77. data/assets/scss/bootstrap/js/src/alert.js +179 -0
  78. data/assets/scss/bootstrap/js/src/button.js +171 -0
  79. data/assets/scss/bootstrap/js/src/carousel.js +606 -0
  80. data/assets/scss/bootstrap/js/src/collapse.js +402 -0
  81. data/assets/scss/bootstrap/js/src/dropdown.js +545 -0
  82. data/assets/scss/bootstrap/js/src/index.js +52 -0
  83. data/assets/scss/bootstrap/js/src/modal.js +594 -0
  84. data/assets/scss/bootstrap/js/src/popover.js +184 -0
  85. data/assets/scss/bootstrap/js/src/scrollspy.js +326 -0
  86. data/assets/scss/bootstrap/js/src/tab.js +260 -0
  87. data/assets/scss/bootstrap/js/src/toast.js +227 -0
  88. data/assets/scss/bootstrap/js/src/tooltip.js +752 -0
  89. data/assets/scss/bootstrap/js/src/util.js +177 -0
  90. data/assets/scss/bootstrap/js/tests/README.md +69 -0
  91. data/assets/scss/bootstrap/js/tests/browsers.js +82 -0
  92. data/assets/scss/bootstrap/js/tests/index.html +133 -0
  93. data/assets/scss/bootstrap/js/tests/integration/bundle.js +8 -0
  94. data/assets/scss/bootstrap/js/tests/integration/index.html +66 -0
  95. data/assets/scss/bootstrap/js/tests/integration/rollup.bundle.js +20 -0
  96. data/assets/scss/bootstrap/js/tests/karma.conf.js +143 -0
  97. data/assets/scss/bootstrap/js/tests/unit/.eslintrc.json +40 -0
  98. data/assets/scss/bootstrap/js/tests/unit/alert.js +123 -0
  99. data/assets/scss/bootstrap/js/tests/unit/button.js +222 -0
  100. data/assets/scss/bootstrap/js/tests/unit/carousel.js +1333 -0
  101. data/assets/scss/bootstrap/js/tests/unit/collapse.js +892 -0
  102. data/assets/scss/bootstrap/js/tests/unit/dropdown.js +1419 -0
  103. data/assets/scss/bootstrap/js/tests/unit/modal.js +815 -0
  104. data/assets/scss/bootstrap/js/tests/unit/popover.js +471 -0
  105. data/assets/scss/bootstrap/js/tests/unit/scrollspy.js +728 -0
  106. data/assets/scss/bootstrap/js/tests/unit/tab.js +518 -0
  107. data/assets/scss/bootstrap/js/tests/unit/toast.js +259 -0
  108. data/assets/scss/bootstrap/js/tests/unit/tooltip.js +1109 -0
  109. data/assets/scss/bootstrap/js/tests/unit/util.js +163 -0
  110. data/assets/scss/bootstrap/js/tests/visual/alert.html +58 -0
  111. data/assets/scss/bootstrap/js/tests/visual/button.html +51 -0
  112. data/assets/scss/bootstrap/js/tests/visual/carousel.html +66 -0
  113. data/assets/scss/bootstrap/js/tests/visual/collapse.html +78 -0
  114. data/assets/scss/bootstrap/js/tests/visual/dropdown.html +212 -0
  115. data/assets/scss/bootstrap/js/tests/visual/modal.html +268 -0
  116. data/assets/scss/bootstrap/js/tests/visual/popover.html +46 -0
  117. data/assets/scss/bootstrap/js/tests/visual/scrollspy.html +95 -0
  118. data/assets/scss/bootstrap/js/tests/visual/tab.html +234 -0
  119. data/assets/scss/bootstrap/js/tests/visual/toast.html +72 -0
  120. data/assets/scss/bootstrap/js/tests/visual/tooltip.html +106 -0
  121. data/assets/scss/bootstrap/scss/_alert.scss +51 -0
  122. data/assets/scss/bootstrap/scss/_badge.scss +54 -0
  123. data/assets/scss/bootstrap/scss/_breadcrumb.scss +41 -0
  124. data/assets/scss/bootstrap/scss/_button-group.scss +163 -0
  125. data/assets/scss/bootstrap/scss/_buttons.scss +137 -0
  126. data/assets/scss/bootstrap/scss/_card.scss +289 -0
  127. data/assets/scss/bootstrap/scss/_carousel.scss +197 -0
  128. data/assets/scss/bootstrap/scss/_close.scss +41 -0
  129. data/assets/scss/bootstrap/scss/_code.scss +48 -0
  130. data/assets/scss/bootstrap/scss/_custom-forms.scss +507 -0
  131. data/assets/scss/bootstrap/scss/_dropdown.scss +191 -0
  132. data/assets/scss/bootstrap/scss/_forms.scss +330 -0
  133. data/assets/scss/bootstrap/scss/_functions.scss +86 -0
  134. data/assets/scss/bootstrap/scss/_grid.scss +52 -0
  135. data/assets/scss/bootstrap/scss/_images.scss +42 -0
  136. data/assets/scss/bootstrap/scss/_input-group.scss +193 -0
  137. data/assets/scss/bootstrap/scss/_jumbotron.scss +17 -0
  138. data/assets/scss/bootstrap/scss/_list-group.scss +149 -0
  139. data/assets/scss/bootstrap/scss/_media.scss +8 -0
  140. data/assets/scss/bootstrap/scss/_mixins.scss +47 -0
  141. data/assets/scss/bootstrap/scss/_modal.scss +229 -0
  142. data/assets/scss/bootstrap/scss/_nav.scss +120 -0
  143. data/assets/scss/bootstrap/scss/_navbar.scss +294 -0
  144. data/assets/scss/bootstrap/scss/_pagination.scss +73 -0
  145. data/assets/scss/bootstrap/scss/_popover.scss +171 -0
  146. data/assets/scss/bootstrap/scss/_print.scss +141 -0
  147. data/assets/scss/bootstrap/scss/_progress.scss +43 -0
  148. data/assets/scss/bootstrap/scss/_reboot.scss +483 -0
  149. data/assets/scss/bootstrap/scss/_root.scss +19 -0
  150. data/assets/scss/bootstrap/scss/_spinners.scss +55 -0
  151. data/assets/scss/bootstrap/scss/_tables.scss +185 -0
  152. data/assets/scss/bootstrap/scss/_toasts.scss +44 -0
  153. data/assets/scss/bootstrap/scss/_tooltip.scss +115 -0
  154. data/assets/scss/bootstrap/scss/_transitions.scss +20 -0
  155. data/assets/scss/bootstrap/scss/_type.scss +125 -0
  156. data/assets/scss/bootstrap/scss/_utilities.scss +17 -0
  157. data/assets/scss/bootstrap/scss/_variables.scss +1123 -0
  158. data/assets/scss/bootstrap/scss/bootstrap-grid.scss +29 -0
  159. data/assets/scss/bootstrap/scss/bootstrap-reboot.scss +12 -0
  160. data/assets/scss/bootstrap/scss/bootstrap.scss +44 -0
  161. data/assets/scss/bootstrap/scss/mixins/_alert.scss +13 -0
  162. data/assets/scss/bootstrap/scss/mixins/_background-variant.scss +21 -0
  163. data/assets/scss/bootstrap/scss/mixins/_badge.scss +17 -0
  164. data/assets/scss/bootstrap/scss/mixins/_border-radius.scss +63 -0
  165. data/assets/scss/bootstrap/scss/mixins/_box-shadow.scss +20 -0
  166. data/assets/scss/bootstrap/scss/mixins/_breakpoints.scss +123 -0
  167. data/assets/scss/bootstrap/scss/mixins/_buttons.scss +107 -0
  168. data/assets/scss/bootstrap/scss/mixins/_caret.scss +62 -0
  169. data/assets/scss/bootstrap/scss/mixins/_clearfix.scss +7 -0
  170. data/assets/scss/bootstrap/scss/mixins/_deprecate.scss +10 -0
  171. data/assets/scss/bootstrap/scss/mixins/_float.scss +14 -0
  172. data/assets/scss/bootstrap/scss/mixins/_forms.scss +192 -0
  173. data/assets/scss/bootstrap/scss/mixins/_gradients.scss +45 -0
  174. data/assets/scss/bootstrap/scss/mixins/_grid-framework.scss +66 -0
  175. data/assets/scss/bootstrap/scss/mixins/_grid.scss +51 -0
  176. data/assets/scss/bootstrap/scss/mixins/_hover.scss +37 -0
  177. data/assets/scss/bootstrap/scss/mixins/_image.scss +36 -0
  178. data/assets/scss/bootstrap/scss/mixins/_list-group.scss +21 -0
  179. data/assets/scss/bootstrap/scss/mixins/_lists.scss +7 -0
  180. data/assets/scss/bootstrap/scss/mixins/_nav-divider.scss +10 -0
  181. data/assets/scss/bootstrap/scss/mixins/_pagination.scss +22 -0
  182. data/assets/scss/bootstrap/scss/mixins/_reset-text.scss +17 -0
  183. data/assets/scss/bootstrap/scss/mixins/_resize.scss +6 -0
  184. data/assets/scss/bootstrap/scss/mixins/_screen-reader.scss +33 -0
  185. data/assets/scss/bootstrap/scss/mixins/_size.scss +7 -0
  186. data/assets/scss/bootstrap/scss/mixins/_table-row.scss +39 -0
  187. data/assets/scss/bootstrap/scss/mixins/_text-emphasis.scss +16 -0
  188. data/assets/scss/bootstrap/scss/mixins/_text-hide.scss +11 -0
  189. data/assets/scss/bootstrap/scss/mixins/_text-truncate.scss +8 -0
  190. data/assets/scss/bootstrap/scss/mixins/_transition.scss +16 -0
  191. data/assets/scss/bootstrap/scss/mixins/_visibility.scss +8 -0
  192. data/assets/scss/bootstrap/scss/utilities/_align.scss +8 -0
  193. data/assets/scss/bootstrap/scss/utilities/_background.scss +19 -0
  194. data/assets/scss/bootstrap/scss/utilities/_borders.scss +75 -0
  195. data/assets/scss/bootstrap/scss/utilities/_clearfix.scss +3 -0
  196. data/assets/scss/bootstrap/scss/utilities/_display.scss +26 -0
  197. data/assets/scss/bootstrap/scss/utilities/_embed.scss +39 -0
  198. data/assets/scss/bootstrap/scss/utilities/_flex.scss +51 -0
  199. data/assets/scss/bootstrap/scss/utilities/_float.scss +11 -0
  200. data/assets/scss/bootstrap/scss/utilities/_overflow.scss +5 -0
  201. data/assets/scss/bootstrap/scss/utilities/_position.scss +32 -0
  202. data/assets/scss/bootstrap/scss/utilities/_screenreaders.scss +11 -0
  203. data/assets/scss/bootstrap/scss/utilities/_shadows.scss +6 -0
  204. data/assets/scss/bootstrap/scss/utilities/_sizing.scss +20 -0
  205. data/assets/scss/bootstrap/scss/utilities/_spacing.scss +73 -0
  206. data/assets/scss/bootstrap/scss/utilities/_stretched-link.scss +19 -0
  207. data/assets/scss/bootstrap/scss/utilities/_text.scss +72 -0
  208. data/assets/scss/bootstrap/scss/utilities/_visibility.scss +13 -0
  209. data/assets/scss/bootstrap/scss/vendor/_rfs.scss +212 -0
  210. data/assets/scss/theme/_about.scss +28 -0
  211. data/assets/scss/theme/_base.scss +207 -0
  212. data/assets/scss/theme/_blog.scss +140 -0
  213. data/assets/scss/theme/_demo.scss +153 -0
  214. data/assets/scss/theme/_mixins.scss +34 -0
  215. data/assets/scss/theme/_responsive.scss +88 -0
  216. data/assets/scss/theme/styles.scss +14 -0
  217. data/assets/scss/theme-8.scss +41 -0
  218. data/assets/styles.scss +6 -0
  219. metadata +221 -4
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.js"],"names":["$","TypeError","version","fn","jquery","split","minMajor","ltMajor","minMinor","minPatch","maxMajor","Error"],"mappings":"AAaA;;;;;;AAOA,CAAC,UAACA,CAAD,EAAO;AACN,MAAI,OAAOA,CAAP,KAAa,WAAjB,EAA8B;AAC5B,UAAM,IAAIC,SAAJ,CAAc,kGAAd,CAAN;AACD;;AAED,MAAMC,UAAUF,EAAEG,EAAF,CAAKC,MAAL,CAAYC,KAAZ,CAAkB,GAAlB,EAAuB,CAAvB,EAA0BA,KAA1B,CAAgC,GAAhC,CAAhB;AACA,MAAMC,WAAW,CAAjB;AACA,MAAMC,UAAU,CAAhB;AACA,MAAMC,WAAW,CAAjB;AACA,MAAMC,WAAW,CAAjB;AACA,MAAMC,WAAW,CAAjB;;AAEA,MAAIR,QAAQ,CAAR,IAAaK,OAAb,IAAwBL,QAAQ,CAAR,IAAaM,QAArC,IAAiDN,QAAQ,CAAR,MAAeI,QAAf,IAA2BJ,QAAQ,CAAR,MAAeM,QAA1C,IAAsDN,QAAQ,CAAR,IAAaO,QAApH,IAAgIP,QAAQ,CAAR,KAAcQ,QAAlJ,EAA4J;AAC1J,UAAM,IAAIC,KAAJ,CAAU,8EAAV,CAAN;AACD;AACF,CAfD,EAeGX,CAfH","sourcesContent":["import $ from 'jquery'\nimport Alert from './alert'\nimport Button from './button'\nimport Carousel from './carousel'\nimport Collapse from './collapse'\nimport Dropdown from './dropdown'\nimport Modal from './modal'\nimport Popover from './popover'\nimport Scrollspy from './scrollspy'\nimport Tab from './tab'\nimport Tooltip from './tooltip'\nimport Util from './util'\n\n/**\n * --------------------------------------------------------------------------\n * Bootstrap (v4.1.2): index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\n(($) => {\n if (typeof $ === 'undefined') {\n throw new TypeError('Bootstrap\\'s JavaScript requires jQuery. jQuery must be included before Bootstrap\\'s JavaScript.')\n }\n\n const version = $.fn.jquery.split(' ')[0].split('.')\n const minMajor = 1\n const ltMajor = 2\n const minMinor = 9\n const minPatch = 1\n const maxMajor = 4\n\n if (version[0] < ltMajor && version[1] < minMinor || version[0] === minMajor && version[1] === minMinor && version[2] < minPatch || version[0] >= maxMajor) {\n throw new Error('Bootstrap\\'s JavaScript requires at least jQuery v1.9.1 but less than v4.0.0')\n }\n})($)\n\nexport {\n Util,\n Alert,\n Button,\n Carousel,\n Collapse,\n Dropdown,\n Modal,\n Popover,\n Scrollspy,\n Tab,\n Tooltip\n}\n"],"file":"index.js"}
@@ -0,0 +1,650 @@
1
+ /*!
2
+ * Bootstrap modal.js v4.3.0 (https://getbootstrap.com/)
3
+ * Copyright 2011-2019 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
4
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
5
+ */
6
+ (function (global, factory) {
7
+ typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('jquery'), require('./util.js')) :
8
+ typeof define === 'function' && define.amd ? define(['jquery', './util.js'], factory) :
9
+ (global = global || self, global.Modal = factory(global.jQuery, global.Util));
10
+ }(this, function ($, Util) { 'use strict';
11
+
12
+ $ = $ && $.hasOwnProperty('default') ? $['default'] : $;
13
+ Util = Util && Util.hasOwnProperty('default') ? Util['default'] : Util;
14
+
15
+ function _defineProperties(target, props) {
16
+ for (var i = 0; i < props.length; i++) {
17
+ var descriptor = props[i];
18
+ descriptor.enumerable = descriptor.enumerable || false;
19
+ descriptor.configurable = true;
20
+ if ("value" in descriptor) descriptor.writable = true;
21
+ Object.defineProperty(target, descriptor.key, descriptor);
22
+ }
23
+ }
24
+
25
+ function _createClass(Constructor, protoProps, staticProps) {
26
+ if (protoProps) _defineProperties(Constructor.prototype, protoProps);
27
+ if (staticProps) _defineProperties(Constructor, staticProps);
28
+ return Constructor;
29
+ }
30
+
31
+ function _defineProperty(obj, key, value) {
32
+ if (key in obj) {
33
+ Object.defineProperty(obj, key, {
34
+ value: value,
35
+ enumerable: true,
36
+ configurable: true,
37
+ writable: true
38
+ });
39
+ } else {
40
+ obj[key] = value;
41
+ }
42
+
43
+ return obj;
44
+ }
45
+
46
+ function _objectSpread(target) {
47
+ for (var i = 1; i < arguments.length; i++) {
48
+ var source = arguments[i] != null ? arguments[i] : {};
49
+ var ownKeys = Object.keys(source);
50
+
51
+ if (typeof Object.getOwnPropertySymbols === 'function') {
52
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {
53
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
54
+ }));
55
+ }
56
+
57
+ ownKeys.forEach(function (key) {
58
+ _defineProperty(target, key, source[key]);
59
+ });
60
+ }
61
+
62
+ return target;
63
+ }
64
+
65
+ /**
66
+ * ------------------------------------------------------------------------
67
+ * Constants
68
+ * ------------------------------------------------------------------------
69
+ */
70
+
71
+ var NAME = 'modal';
72
+ var VERSION = '4.3.0';
73
+ var DATA_KEY = 'bs.modal';
74
+ var EVENT_KEY = "." + DATA_KEY;
75
+ var DATA_API_KEY = '.data-api';
76
+ var JQUERY_NO_CONFLICT = $.fn[NAME];
77
+ var ESCAPE_KEYCODE = 27; // KeyboardEvent.which value for Escape (Esc) key
78
+
79
+ var Default = {
80
+ backdrop: true,
81
+ keyboard: true,
82
+ focus: true,
83
+ show: true
84
+ };
85
+ var DefaultType = {
86
+ backdrop: '(boolean|string)',
87
+ keyboard: 'boolean',
88
+ focus: 'boolean',
89
+ show: 'boolean'
90
+ };
91
+ var Event = {
92
+ HIDE: "hide" + EVENT_KEY,
93
+ HIDDEN: "hidden" + EVENT_KEY,
94
+ SHOW: "show" + EVENT_KEY,
95
+ SHOWN: "shown" + EVENT_KEY,
96
+ FOCUSIN: "focusin" + EVENT_KEY,
97
+ RESIZE: "resize" + EVENT_KEY,
98
+ CLICK_DISMISS: "click.dismiss" + EVENT_KEY,
99
+ KEYDOWN_DISMISS: "keydown.dismiss" + EVENT_KEY,
100
+ MOUSEUP_DISMISS: "mouseup.dismiss" + EVENT_KEY,
101
+ MOUSEDOWN_DISMISS: "mousedown.dismiss" + EVENT_KEY,
102
+ CLICK_DATA_API: "click" + EVENT_KEY + DATA_API_KEY
103
+ };
104
+ var ClassName = {
105
+ SCROLLABLE: 'modal-dialog-scrollable',
106
+ SCROLLBAR_MEASURER: 'modal-scrollbar-measure',
107
+ BACKDROP: 'modal-backdrop',
108
+ OPEN: 'modal-open',
109
+ FADE: 'fade',
110
+ SHOW: 'show'
111
+ };
112
+ var Selector = {
113
+ DIALOG: '.modal-dialog',
114
+ MODAL_BODY: '.modal-body',
115
+ DATA_TOGGLE: '[data-toggle="modal"]',
116
+ DATA_DISMISS: '[data-dismiss="modal"]',
117
+ FIXED_CONTENT: '.fixed-top, .fixed-bottom, .is-fixed, .sticky-top',
118
+ STICKY_CONTENT: '.sticky-top'
119
+ /**
120
+ * ------------------------------------------------------------------------
121
+ * Class Definition
122
+ * ------------------------------------------------------------------------
123
+ */
124
+
125
+ };
126
+
127
+ var Modal =
128
+ /*#__PURE__*/
129
+ function () {
130
+ function Modal(element, config) {
131
+ this._config = this._getConfig(config);
132
+ this._element = element;
133
+ this._dialog = element.querySelector(Selector.DIALOG);
134
+ this._backdrop = null;
135
+ this._isShown = false;
136
+ this._isBodyOverflowing = false;
137
+ this._ignoreBackdropClick = false;
138
+ this._isTransitioning = false;
139
+ this._scrollbarWidth = 0;
140
+ } // Getters
141
+
142
+
143
+ var _proto = Modal.prototype;
144
+
145
+ // Public
146
+ _proto.toggle = function toggle(relatedTarget) {
147
+ return this._isShown ? this.hide() : this.show(relatedTarget);
148
+ };
149
+
150
+ _proto.show = function show(relatedTarget) {
151
+ var _this = this;
152
+
153
+ if (this._isShown || this._isTransitioning) {
154
+ return;
155
+ }
156
+
157
+ if ($(this._element).hasClass(ClassName.FADE)) {
158
+ this._isTransitioning = true;
159
+ }
160
+
161
+ var showEvent = $.Event(Event.SHOW, {
162
+ relatedTarget: relatedTarget
163
+ });
164
+ $(this._element).trigger(showEvent);
165
+
166
+ if (this._isShown || showEvent.isDefaultPrevented()) {
167
+ return;
168
+ }
169
+
170
+ this._isShown = true;
171
+
172
+ this._checkScrollbar();
173
+
174
+ this._setScrollbar();
175
+
176
+ this._adjustDialog();
177
+
178
+ this._setEscapeEvent();
179
+
180
+ this._setResizeEvent();
181
+
182
+ $(this._element).on(Event.CLICK_DISMISS, Selector.DATA_DISMISS, function (event) {
183
+ return _this.hide(event);
184
+ });
185
+ $(this._dialog).on(Event.MOUSEDOWN_DISMISS, function () {
186
+ $(_this._element).one(Event.MOUSEUP_DISMISS, function (event) {
187
+ if ($(event.target).is(_this._element)) {
188
+ _this._ignoreBackdropClick = true;
189
+ }
190
+ });
191
+ });
192
+
193
+ this._showBackdrop(function () {
194
+ return _this._showElement(relatedTarget);
195
+ });
196
+ };
197
+
198
+ _proto.hide = function hide(event) {
199
+ var _this2 = this;
200
+
201
+ if (event) {
202
+ event.preventDefault();
203
+ }
204
+
205
+ if (!this._isShown || this._isTransitioning) {
206
+ return;
207
+ }
208
+
209
+ var hideEvent = $.Event(Event.HIDE);
210
+ $(this._element).trigger(hideEvent);
211
+
212
+ if (!this._isShown || hideEvent.isDefaultPrevented()) {
213
+ return;
214
+ }
215
+
216
+ this._isShown = false;
217
+ var transition = $(this._element).hasClass(ClassName.FADE);
218
+
219
+ if (transition) {
220
+ this._isTransitioning = true;
221
+ }
222
+
223
+ this._setEscapeEvent();
224
+
225
+ this._setResizeEvent();
226
+
227
+ $(document).off(Event.FOCUSIN);
228
+ $(this._element).removeClass(ClassName.SHOW);
229
+ $(this._element).off(Event.CLICK_DISMISS);
230
+ $(this._dialog).off(Event.MOUSEDOWN_DISMISS);
231
+
232
+ if (transition) {
233
+ var transitionDuration = Util.getTransitionDurationFromElement(this._element);
234
+ $(this._element).one(Util.TRANSITION_END, function (event) {
235
+ return _this2._hideModal(event);
236
+ }).emulateTransitionEnd(transitionDuration);
237
+ } else {
238
+ this._hideModal();
239
+ }
240
+ };
241
+
242
+ _proto.dispose = function dispose() {
243
+ [window, this._element, this._dialog].forEach(function (htmlElement) {
244
+ return $(htmlElement).off(EVENT_KEY);
245
+ });
246
+ /**
247
+ * `document` has 2 events `Event.FOCUSIN` and `Event.CLICK_DATA_API`
248
+ * Do not move `document` in `htmlElements` array
249
+ * It will remove `Event.CLICK_DATA_API` event that should remain
250
+ */
251
+
252
+ $(document).off(Event.FOCUSIN);
253
+ $.removeData(this._element, DATA_KEY);
254
+ this._config = null;
255
+ this._element = null;
256
+ this._dialog = null;
257
+ this._backdrop = null;
258
+ this._isShown = null;
259
+ this._isBodyOverflowing = null;
260
+ this._ignoreBackdropClick = null;
261
+ this._isTransitioning = null;
262
+ this._scrollbarWidth = null;
263
+ };
264
+
265
+ _proto.handleUpdate = function handleUpdate() {
266
+ this._adjustDialog();
267
+ } // Private
268
+ ;
269
+
270
+ _proto._getConfig = function _getConfig(config) {
271
+ config = _objectSpread({}, Default, config);
272
+ Util.typeCheckConfig(NAME, config, DefaultType);
273
+ return config;
274
+ };
275
+
276
+ _proto._showElement = function _showElement(relatedTarget) {
277
+ var _this3 = this;
278
+
279
+ var transition = $(this._element).hasClass(ClassName.FADE);
280
+
281
+ if (!this._element.parentNode || this._element.parentNode.nodeType !== Node.ELEMENT_NODE) {
282
+ // Don't move modal's DOM position
283
+ document.body.appendChild(this._element);
284
+ }
285
+
286
+ this._element.style.display = 'block';
287
+
288
+ this._element.removeAttribute('aria-hidden');
289
+
290
+ this._element.setAttribute('aria-modal', true);
291
+
292
+ if ($(this._dialog).hasClass(ClassName.SCROLLABLE)) {
293
+ this._dialog.querySelector(Selector.MODAL_BODY).scrollTop = 0;
294
+ } else {
295
+ this._element.scrollTop = 0;
296
+ }
297
+
298
+ if (transition) {
299
+ Util.reflow(this._element);
300
+ }
301
+
302
+ $(this._element).addClass(ClassName.SHOW);
303
+
304
+ if (this._config.focus) {
305
+ this._enforceFocus();
306
+ }
307
+
308
+ var shownEvent = $.Event(Event.SHOWN, {
309
+ relatedTarget: relatedTarget
310
+ });
311
+
312
+ var transitionComplete = function transitionComplete() {
313
+ if (_this3._config.focus) {
314
+ _this3._element.focus();
315
+ }
316
+
317
+ _this3._isTransitioning = false;
318
+ $(_this3._element).trigger(shownEvent);
319
+ };
320
+
321
+ if (transition) {
322
+ var transitionDuration = Util.getTransitionDurationFromElement(this._dialog);
323
+ $(this._dialog).one(Util.TRANSITION_END, transitionComplete).emulateTransitionEnd(transitionDuration);
324
+ } else {
325
+ transitionComplete();
326
+ }
327
+ };
328
+
329
+ _proto._enforceFocus = function _enforceFocus() {
330
+ var _this4 = this;
331
+
332
+ $(document).off(Event.FOCUSIN) // Guard against infinite focus loop
333
+ .on(Event.FOCUSIN, function (event) {
334
+ if (document !== event.target && _this4._element !== event.target && $(_this4._element).has(event.target).length === 0) {
335
+ _this4._element.focus();
336
+ }
337
+ });
338
+ };
339
+
340
+ _proto._setEscapeEvent = function _setEscapeEvent() {
341
+ var _this5 = this;
342
+
343
+ if (this._isShown && this._config.keyboard) {
344
+ $(this._element).on(Event.KEYDOWN_DISMISS, function (event) {
345
+ if (event.which === ESCAPE_KEYCODE) {
346
+ event.preventDefault();
347
+
348
+ _this5.hide();
349
+ }
350
+ });
351
+ } else if (!this._isShown) {
352
+ $(this._element).off(Event.KEYDOWN_DISMISS);
353
+ }
354
+ };
355
+
356
+ _proto._setResizeEvent = function _setResizeEvent() {
357
+ var _this6 = this;
358
+
359
+ if (this._isShown) {
360
+ $(window).on(Event.RESIZE, function (event) {
361
+ return _this6.handleUpdate(event);
362
+ });
363
+ } else {
364
+ $(window).off(Event.RESIZE);
365
+ }
366
+ };
367
+
368
+ _proto._hideModal = function _hideModal() {
369
+ var _this7 = this;
370
+
371
+ this._element.style.display = 'none';
372
+
373
+ this._element.setAttribute('aria-hidden', true);
374
+
375
+ this._element.removeAttribute('aria-modal');
376
+
377
+ this._isTransitioning = false;
378
+
379
+ this._showBackdrop(function () {
380
+ $(document.body).removeClass(ClassName.OPEN);
381
+
382
+ _this7._resetAdjustments();
383
+
384
+ _this7._resetScrollbar();
385
+
386
+ $(_this7._element).trigger(Event.HIDDEN);
387
+ });
388
+ };
389
+
390
+ _proto._removeBackdrop = function _removeBackdrop() {
391
+ if (this._backdrop) {
392
+ $(this._backdrop).remove();
393
+ this._backdrop = null;
394
+ }
395
+ };
396
+
397
+ _proto._showBackdrop = function _showBackdrop(callback) {
398
+ var _this8 = this;
399
+
400
+ var animate = $(this._element).hasClass(ClassName.FADE) ? ClassName.FADE : '';
401
+
402
+ if (this._isShown && this._config.backdrop) {
403
+ this._backdrop = document.createElement('div');
404
+ this._backdrop.className = ClassName.BACKDROP;
405
+
406
+ if (animate) {
407
+ this._backdrop.classList.add(animate);
408
+ }
409
+
410
+ $(this._backdrop).appendTo(document.body);
411
+ $(this._element).on(Event.CLICK_DISMISS, function (event) {
412
+ if (_this8._ignoreBackdropClick) {
413
+ _this8._ignoreBackdropClick = false;
414
+ return;
415
+ }
416
+
417
+ if (event.target !== event.currentTarget) {
418
+ return;
419
+ }
420
+
421
+ if (_this8._config.backdrop === 'static') {
422
+ _this8._element.focus();
423
+ } else {
424
+ _this8.hide();
425
+ }
426
+ });
427
+
428
+ if (animate) {
429
+ Util.reflow(this._backdrop);
430
+ }
431
+
432
+ $(this._backdrop).addClass(ClassName.SHOW);
433
+
434
+ if (!callback) {
435
+ return;
436
+ }
437
+
438
+ if (!animate) {
439
+ callback();
440
+ return;
441
+ }
442
+
443
+ var backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
444
+ $(this._backdrop).one(Util.TRANSITION_END, callback).emulateTransitionEnd(backdropTransitionDuration);
445
+ } else if (!this._isShown && this._backdrop) {
446
+ $(this._backdrop).removeClass(ClassName.SHOW);
447
+
448
+ var callbackRemove = function callbackRemove() {
449
+ _this8._removeBackdrop();
450
+
451
+ if (callback) {
452
+ callback();
453
+ }
454
+ };
455
+
456
+ if ($(this._element).hasClass(ClassName.FADE)) {
457
+ var _backdropTransitionDuration = Util.getTransitionDurationFromElement(this._backdrop);
458
+
459
+ $(this._backdrop).one(Util.TRANSITION_END, callbackRemove).emulateTransitionEnd(_backdropTransitionDuration);
460
+ } else {
461
+ callbackRemove();
462
+ }
463
+ } else if (callback) {
464
+ callback();
465
+ }
466
+ } // ----------------------------------------------------------------------
467
+ // the following methods are used to handle overflowing modals
468
+ // todo (fat): these should probably be refactored out of modal.js
469
+ // ----------------------------------------------------------------------
470
+ ;
471
+
472
+ _proto._adjustDialog = function _adjustDialog() {
473
+ var isModalOverflowing = this._element.scrollHeight > document.documentElement.clientHeight;
474
+
475
+ if (!this._isBodyOverflowing && isModalOverflowing) {
476
+ this._element.style.paddingLeft = this._scrollbarWidth + "px";
477
+ }
478
+
479
+ if (this._isBodyOverflowing && !isModalOverflowing) {
480
+ this._element.style.paddingRight = this._scrollbarWidth + "px";
481
+ }
482
+ };
483
+
484
+ _proto._resetAdjustments = function _resetAdjustments() {
485
+ this._element.style.paddingLeft = '';
486
+ this._element.style.paddingRight = '';
487
+ };
488
+
489
+ _proto._checkScrollbar = function _checkScrollbar() {
490
+ var rect = document.body.getBoundingClientRect();
491
+ this._isBodyOverflowing = rect.left + rect.right < window.innerWidth;
492
+ this._scrollbarWidth = this._getScrollbarWidth();
493
+ };
494
+
495
+ _proto._setScrollbar = function _setScrollbar() {
496
+ var _this9 = this;
497
+
498
+ if (this._isBodyOverflowing) {
499
+ // Note: DOMNode.style.paddingRight returns the actual value or '' if not set
500
+ // while $(DOMNode).css('padding-right') returns the calculated value or 0 if not set
501
+ var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT));
502
+ var stickyContent = [].slice.call(document.querySelectorAll(Selector.STICKY_CONTENT)); // Adjust fixed content padding
503
+
504
+ $(fixedContent).each(function (index, element) {
505
+ var actualPadding = element.style.paddingRight;
506
+ var calculatedPadding = $(element).css('padding-right');
507
+ $(element).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + _this9._scrollbarWidth + "px");
508
+ }); // Adjust sticky content margin
509
+
510
+ $(stickyContent).each(function (index, element) {
511
+ var actualMargin = element.style.marginRight;
512
+ var calculatedMargin = $(element).css('margin-right');
513
+ $(element).data('margin-right', actualMargin).css('margin-right', parseFloat(calculatedMargin) - _this9._scrollbarWidth + "px");
514
+ }); // Adjust body padding
515
+
516
+ var actualPadding = document.body.style.paddingRight;
517
+ var calculatedPadding = $(document.body).css('padding-right');
518
+ $(document.body).data('padding-right', actualPadding).css('padding-right', parseFloat(calculatedPadding) + this._scrollbarWidth + "px");
519
+ }
520
+
521
+ $(document.body).addClass(ClassName.OPEN);
522
+ };
523
+
524
+ _proto._resetScrollbar = function _resetScrollbar() {
525
+ // Restore fixed content padding
526
+ var fixedContent = [].slice.call(document.querySelectorAll(Selector.FIXED_CONTENT));
527
+ $(fixedContent).each(function (index, element) {
528
+ var padding = $(element).data('padding-right');
529
+ $(element).removeData('padding-right');
530
+ element.style.paddingRight = padding ? padding : '';
531
+ }); // Restore sticky content
532
+
533
+ var elements = [].slice.call(document.querySelectorAll("" + Selector.STICKY_CONTENT));
534
+ $(elements).each(function (index, element) {
535
+ var margin = $(element).data('margin-right');
536
+
537
+ if (typeof margin !== 'undefined') {
538
+ $(element).css('margin-right', margin).removeData('margin-right');
539
+ }
540
+ }); // Restore body padding
541
+
542
+ var padding = $(document.body).data('padding-right');
543
+ $(document.body).removeData('padding-right');
544
+ document.body.style.paddingRight = padding ? padding : '';
545
+ };
546
+
547
+ _proto._getScrollbarWidth = function _getScrollbarWidth() {
548
+ // thx d.walsh
549
+ var scrollDiv = document.createElement('div');
550
+ scrollDiv.className = ClassName.SCROLLBAR_MEASURER;
551
+ document.body.appendChild(scrollDiv);
552
+ var scrollbarWidth = scrollDiv.getBoundingClientRect().width - scrollDiv.clientWidth;
553
+ document.body.removeChild(scrollDiv);
554
+ return scrollbarWidth;
555
+ } // Static
556
+ ;
557
+
558
+ Modal._jQueryInterface = function _jQueryInterface(config, relatedTarget) {
559
+ return this.each(function () {
560
+ var data = $(this).data(DATA_KEY);
561
+
562
+ var _config = _objectSpread({}, Default, $(this).data(), typeof config === 'object' && config ? config : {});
563
+
564
+ if (!data) {
565
+ data = new Modal(this, _config);
566
+ $(this).data(DATA_KEY, data);
567
+ }
568
+
569
+ if (typeof config === 'string') {
570
+ if (typeof data[config] === 'undefined') {
571
+ throw new TypeError("No method named \"" + config + "\"");
572
+ }
573
+
574
+ data[config](relatedTarget);
575
+ } else if (_config.show) {
576
+ data.show(relatedTarget);
577
+ }
578
+ });
579
+ };
580
+
581
+ _createClass(Modal, null, [{
582
+ key: "VERSION",
583
+ get: function get() {
584
+ return VERSION;
585
+ }
586
+ }, {
587
+ key: "Default",
588
+ get: function get() {
589
+ return Default;
590
+ }
591
+ }]);
592
+
593
+ return Modal;
594
+ }();
595
+ /**
596
+ * ------------------------------------------------------------------------
597
+ * Data Api implementation
598
+ * ------------------------------------------------------------------------
599
+ */
600
+
601
+
602
+ $(document).on(Event.CLICK_DATA_API, Selector.DATA_TOGGLE, function (event) {
603
+ var _this10 = this;
604
+
605
+ var target;
606
+ var selector = Util.getSelectorFromElement(this);
607
+
608
+ if (selector) {
609
+ target = document.querySelector(selector);
610
+ }
611
+
612
+ var config = $(target).data(DATA_KEY) ? 'toggle' : _objectSpread({}, $(target).data(), $(this).data());
613
+
614
+ if (this.tagName === 'A' || this.tagName === 'AREA') {
615
+ event.preventDefault();
616
+ }
617
+
618
+ var $target = $(target).one(Event.SHOW, function (showEvent) {
619
+ if (showEvent.isDefaultPrevented()) {
620
+ // Only register focus restorer if modal will actually get shown
621
+ return;
622
+ }
623
+
624
+ $target.one(Event.HIDDEN, function () {
625
+ if ($(_this10).is(':visible')) {
626
+ _this10.focus();
627
+ }
628
+ });
629
+ });
630
+
631
+ Modal._jQueryInterface.call($(target), config, this);
632
+ });
633
+ /**
634
+ * ------------------------------------------------------------------------
635
+ * jQuery
636
+ * ------------------------------------------------------------------------
637
+ */
638
+
639
+ $.fn[NAME] = Modal._jQueryInterface;
640
+ $.fn[NAME].Constructor = Modal;
641
+
642
+ $.fn[NAME].noConflict = function () {
643
+ $.fn[NAME] = JQUERY_NO_CONFLICT;
644
+ return Modal._jQueryInterface;
645
+ };
646
+
647
+ return Modal;
648
+
649
+ }));
650
+ //# sourceMappingURL=modal.js.map