fomantic-ui 2.9.3-beta.43 → 2.9.3-beta.45

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 (186) hide show
  1. package/dist/components/accordion.css +1 -1
  2. package/dist/components/accordion.js +1 -1
  3. package/dist/components/accordion.min.css +1 -1
  4. package/dist/components/accordion.min.js +1 -1
  5. package/dist/components/ad.css +1 -1
  6. package/dist/components/ad.min.css +1 -1
  7. package/dist/components/api.js +1 -1
  8. package/dist/components/api.min.js +1 -1
  9. package/dist/components/breadcrumb.css +1 -1
  10. package/dist/components/breadcrumb.min.css +1 -1
  11. package/dist/components/button.css +1 -1
  12. package/dist/components/button.min.css +1 -1
  13. package/dist/components/calendar.css +1 -1
  14. package/dist/components/calendar.js +1 -1
  15. package/dist/components/calendar.min.css +1 -1
  16. package/dist/components/calendar.min.js +1 -1
  17. package/dist/components/card.css +1 -1
  18. package/dist/components/card.min.css +1 -1
  19. package/dist/components/checkbox.css +1 -1
  20. package/dist/components/checkbox.js +1 -1
  21. package/dist/components/checkbox.min.css +1 -1
  22. package/dist/components/checkbox.min.js +1 -1
  23. package/dist/components/comment.css +1 -1
  24. package/dist/components/comment.min.css +1 -1
  25. package/dist/components/container.css +1 -1
  26. package/dist/components/container.min.css +1 -1
  27. package/dist/components/dimmer.css +1 -1
  28. package/dist/components/dimmer.js +1 -1
  29. package/dist/components/dimmer.min.css +1 -1
  30. package/dist/components/dimmer.min.js +1 -1
  31. package/dist/components/divider.css +1 -1
  32. package/dist/components/divider.min.css +1 -1
  33. package/dist/components/dropdown.css +1 -1
  34. package/dist/components/dropdown.js +1 -1
  35. package/dist/components/dropdown.min.css +1 -1
  36. package/dist/components/dropdown.min.js +1 -1
  37. package/dist/components/embed.css +1 -1
  38. package/dist/components/embed.js +1 -1
  39. package/dist/components/embed.min.css +1 -1
  40. package/dist/components/embed.min.js +1 -1
  41. package/dist/components/emoji.css +1 -1
  42. package/dist/components/emoji.min.css +1 -1
  43. package/dist/components/feed.css +1 -1
  44. package/dist/components/feed.min.css +1 -1
  45. package/dist/components/flag.css +1 -1
  46. package/dist/components/flag.min.css +1 -1
  47. package/dist/components/flyout.css +1 -1
  48. package/dist/components/flyout.js +1 -1
  49. package/dist/components/flyout.min.css +1 -1
  50. package/dist/components/flyout.min.js +1 -1
  51. package/dist/components/form.css +1 -1
  52. package/dist/components/form.js +1 -1
  53. package/dist/components/form.min.css +1 -1
  54. package/dist/components/form.min.js +1 -1
  55. package/dist/components/grid.css +1 -1
  56. package/dist/components/grid.min.css +1 -1
  57. package/dist/components/header.css +1 -1
  58. package/dist/components/header.min.css +1 -1
  59. package/dist/components/icon.css +1 -1
  60. package/dist/components/icon.min.css +1 -1
  61. package/dist/components/image.css +1 -1
  62. package/dist/components/image.min.css +1 -1
  63. package/dist/components/input.css +1 -1
  64. package/dist/components/input.min.css +1 -1
  65. package/dist/components/item.css +1 -1
  66. package/dist/components/item.min.css +1 -1
  67. package/dist/components/label.css +1 -1
  68. package/dist/components/label.min.css +1 -1
  69. package/dist/components/list.css +1 -1
  70. package/dist/components/list.min.css +1 -1
  71. package/dist/components/loader.css +1 -1
  72. package/dist/components/loader.min.css +1 -1
  73. package/dist/components/menu.css +1 -1
  74. package/dist/components/menu.min.css +1 -1
  75. package/dist/components/message.css +1 -1
  76. package/dist/components/message.min.css +1 -1
  77. package/dist/components/modal.css +1 -1
  78. package/dist/components/modal.js +1 -1
  79. package/dist/components/modal.min.css +1 -1
  80. package/dist/components/modal.min.js +1 -1
  81. package/dist/components/nag.css +1 -1
  82. package/dist/components/nag.js +1 -1
  83. package/dist/components/nag.min.css +1 -1
  84. package/dist/components/nag.min.js +1 -1
  85. package/dist/components/placeholder.css +1 -1
  86. package/dist/components/placeholder.min.css +1 -1
  87. package/dist/components/popup.css +1 -1
  88. package/dist/components/popup.js +1 -1
  89. package/dist/components/popup.min.css +1 -1
  90. package/dist/components/popup.min.js +1 -1
  91. package/dist/components/progress.css +1 -1
  92. package/dist/components/progress.js +1 -1
  93. package/dist/components/progress.min.css +1 -1
  94. package/dist/components/progress.min.js +1 -1
  95. package/dist/components/rail.css +1 -1
  96. package/dist/components/rail.min.css +1 -1
  97. package/dist/components/rating.css +1 -1
  98. package/dist/components/rating.js +1 -1
  99. package/dist/components/rating.min.css +1 -1
  100. package/dist/components/rating.min.js +1 -1
  101. package/dist/components/reset.css +1 -1
  102. package/dist/components/reset.min.css +1 -1
  103. package/dist/components/reveal.css +1 -1
  104. package/dist/components/reveal.min.css +1 -1
  105. package/dist/components/search.css +1 -1
  106. package/dist/components/search.js +1 -1
  107. package/dist/components/search.min.css +1 -1
  108. package/dist/components/search.min.js +1 -1
  109. package/dist/components/segment.css +1 -1
  110. package/dist/components/segment.min.css +1 -1
  111. package/dist/components/shape.css +1 -1
  112. package/dist/components/shape.js +1 -1
  113. package/dist/components/shape.min.css +1 -1
  114. package/dist/components/shape.min.js +1 -1
  115. package/dist/components/sidebar.css +1 -1
  116. package/dist/components/sidebar.js +1 -1
  117. package/dist/components/sidebar.min.css +1 -1
  118. package/dist/components/sidebar.min.js +1 -1
  119. package/dist/components/site.css +1 -1
  120. package/dist/components/site.js +1 -1
  121. package/dist/components/site.min.css +1 -1
  122. package/dist/components/site.min.js +1 -1
  123. package/dist/components/slider.css +1 -1
  124. package/dist/components/slider.js +1 -1
  125. package/dist/components/slider.min.css +1 -1
  126. package/dist/components/slider.min.js +1 -1
  127. package/dist/components/state.js +1 -1
  128. package/dist/components/state.min.js +1 -1
  129. package/dist/components/statistic.css +1 -1
  130. package/dist/components/statistic.min.css +1 -1
  131. package/dist/components/step.css +1 -1
  132. package/dist/components/step.min.css +1 -1
  133. package/dist/components/sticky.css +1 -1
  134. package/dist/components/sticky.js +1 -1
  135. package/dist/components/sticky.min.css +1 -1
  136. package/dist/components/sticky.min.js +1 -1
  137. package/dist/components/tab.css +1 -1
  138. package/dist/components/tab.js +1 -1
  139. package/dist/components/tab.min.css +1 -1
  140. package/dist/components/tab.min.js +1 -1
  141. package/dist/components/table.css +1 -1
  142. package/dist/components/table.min.css +1 -1
  143. package/dist/components/text.css +1 -1
  144. package/dist/components/text.min.css +1 -1
  145. package/dist/components/toast.css +1 -1
  146. package/dist/components/toast.js +1 -1
  147. package/dist/components/toast.min.css +1 -1
  148. package/dist/components/toast.min.js +1 -1
  149. package/dist/components/transition.css +1 -1
  150. package/dist/components/transition.js +1 -1
  151. package/dist/components/transition.min.css +1 -1
  152. package/dist/components/transition.min.js +1 -1
  153. package/dist/components/visibility.js +1 -1
  154. package/dist/components/visibility.min.js +1 -1
  155. package/dist/semantic.css +53 -53
  156. package/dist/semantic.js +26 -26
  157. package/dist/semantic.min.css +1 -1
  158. package/dist/semantic.min.js +1 -1
  159. package/package.json +3 -2
  160. package/types/fomantic-ui-accordion.d.ts +250 -0
  161. package/types/fomantic-ui-api.d.ts +607 -0
  162. package/types/fomantic-ui-calendar.d.ts +820 -0
  163. package/types/fomantic-ui-checkbox.d.ts +378 -0
  164. package/types/fomantic-ui-dimmer.d.ts +485 -0
  165. package/types/fomantic-ui-dropdown.d.ts +1402 -0
  166. package/types/fomantic-ui-embed.d.ts +372 -0
  167. package/types/fomantic-ui-flyout.d.ts +558 -0
  168. package/types/fomantic-ui-form.d.ts +780 -0
  169. package/types/fomantic-ui-modal.d.ts +553 -0
  170. package/types/fomantic-ui-nag.d.ts +319 -0
  171. package/types/fomantic-ui-popup.d.ts +619 -0
  172. package/types/fomantic-ui-progress.d.ts +533 -0
  173. package/types/fomantic-ui-rating.d.ts +218 -0
  174. package/types/fomantic-ui-search.d.ts +590 -0
  175. package/types/fomantic-ui-shape.d.ts +316 -0
  176. package/types/fomantic-ui-sidebar.d.ts +478 -0
  177. package/types/fomantic-ui-slider.d.ts +379 -0
  178. package/types/fomantic-ui-sticky.d.ts +261 -0
  179. package/types/fomantic-ui-tab.d.ts +427 -0
  180. package/types/fomantic-ui-tests.ts +23 -0
  181. package/types/fomantic-ui-toast.d.ts +620 -0
  182. package/types/fomantic-ui-transition.d.ts +405 -0
  183. package/types/fomantic-ui-visibility.d.ts +422 -0
  184. package/types/index.d.ts +64 -0
  185. package/types/tsconfig.json +23 -0
  186. package/types/tslint.json +1 -0
@@ -0,0 +1,379 @@
1
+ declare namespace FomanticUI {
2
+ interface Slider {
3
+ settings: SliderSettings;
4
+
5
+ /**
6
+ * Get the current selected value.
7
+ */
8
+ (behavior: 'get value'): number;
9
+
10
+ /**
11
+ * Get the selected value of one of the range thumbs.
12
+ * Provide either 'first' or 'second' as a string parameter.
13
+ */
14
+ (behavior: 'get thumbValue', which: 'first' | 'second'): number;
15
+
16
+ /**
17
+ * Get the number of rendered label ticks.
18
+ */
19
+ (behavior: 'get numLabels'): number;
20
+
21
+ /**
22
+ * Set the current slider value.
23
+ * Pass 'false' to 'fireChange' to skip the 'onChange' and 'onMove' callbacks.
24
+ */
25
+ (behavior: 'set value', value: number, fireChange: boolean): void;
26
+
27
+ /**
28
+ * Set the current range slider values.
29
+ * Pass 'false' to 'fireChange' to skip the 'onChange' and 'onMove' callbacks.
30
+ */
31
+ (behavior: 'set rangeValue', fromValue: number, toValue: number, fireChange: boolean): JQuery;
32
+
33
+ /**
34
+ * Destroys instance and removes all events.
35
+ */
36
+ (behavior: 'destroy'): JQuery;
37
+
38
+ <K extends keyof SliderSettings>(behavior: 'setting', name: K, value?: undefined): SliderSettings._Impl[K];
39
+ <K extends keyof SliderSettings>(behavior: 'setting', name: K, value: SliderSettings._Impl[K]): JQuery;
40
+ (behavior: 'setting', value: SliderSettings): JQuery;
41
+ (settings?: SliderSettings): JQuery;
42
+ }
43
+
44
+ /**
45
+ * @see {@link https://fomantic-ui.com/modules/slider.html#/settings}
46
+ */
47
+ type SliderSettings = SliderSettings.Param;
48
+
49
+ namespace SliderSettings {
50
+ type Param = (
51
+ | Pick<_Impl, 'min'>
52
+ | Pick<_Impl, 'max'>
53
+ | Pick<_Impl, 'step'>
54
+ | Pick<_Impl, 'start'>
55
+ | Pick<_Impl, 'end'>
56
+ | Pick<_Impl, 'labelType'>
57
+ | Pick<_Impl, 'interpretLabel'>
58
+ | Pick<_Impl, 'showLabelTicks'>
59
+ | Pick<_Impl, 'smooth'>
60
+ | Pick<_Impl, 'autoAdjustLabels'>
61
+ | Pick<_Impl, 'labelDistance'>
62
+ | Pick<_Impl, 'decimalPlaces'>
63
+ | Pick<_Impl, 'pageMultiplier'>
64
+ | Pick<_Impl, 'preventCrossover'>
65
+ | Pick<_Impl, 'onChange'>
66
+ | Pick<_Impl, 'onMove'>
67
+ | Pick<_Impl, 'className'>
68
+ | Pick<_Impl, 'metadata'>
69
+ | Pick<_Impl, 'keys'>
70
+ | Pick<_Impl, 'name'>
71
+ | Pick<_Impl, 'namespace'>
72
+ | Pick<_Impl, 'silent'>
73
+ | Pick<_Impl, 'debug'>
74
+ | Pick<_Impl, 'performance'>
75
+ | Pick<_Impl, 'verbose'>
76
+ | Pick<_Impl, 'error'>
77
+ ) &
78
+ Partial<Pick<_Impl, keyof _Impl>>;
79
+
80
+ interface _Impl {
81
+ // region Slider Settings
82
+
83
+ /**
84
+ * The lowest value the slider can be.
85
+ * @default 0
86
+ */
87
+ min: number;
88
+
89
+ /**
90
+ * The max value the slider can be.
91
+ * @default 20
92
+ */
93
+ max: number;
94
+
95
+ /**
96
+ * The slider step.
97
+ * Set to '0' to disable step.
98
+ * @default 1
99
+ */
100
+ step: number;
101
+
102
+ /**
103
+ * The value the slider will start at.
104
+ * @default 0
105
+ */
106
+ start: number;
107
+
108
+ /**
109
+ * The second value to set in case of a range slider.
110
+ * @default 20
111
+ */
112
+ end: number;
113
+
114
+ /**
115
+ * The type of label to display for a labeled slider.
116
+ * Can be 'number' or 'letter'.
117
+ * @default 'number'
118
+ */
119
+ labelType: 'number' | 'letter';
120
+
121
+ /**
122
+ * You can specify a function here which consumes the current label value as parameter and should return a custom label text according to the given value.
123
+ * @default false
124
+ */
125
+ interpretLabel: false | Function;
126
+
127
+ /**
128
+ * Show ticks on a labeled slider.
129
+ * @default false
130
+ */
131
+ showLabelTicks: boolean;
132
+
133
+ /**
134
+ * Define smoothness when the slider is moving.
135
+ * @default false
136
+ */
137
+ smooth: boolean;
138
+
139
+ /**
140
+ * Whether labels should auto adjust on window resize.
141
+ * @default true
142
+ */
143
+ autoAdjustLabels: boolean;
144
+
145
+ /**
146
+ * The distance between labels.
147
+ * @default 100
148
+ */
149
+ labelDistance: number;
150
+
151
+ /**
152
+ * Number of decimals to use with an unstepped slider.
153
+ * @default 2
154
+ */
155
+ decimalPlaces: number;
156
+
157
+ /**
158
+ * Page up/down multiplier.
159
+ * Define how many more times the steps to take on page up/down press.
160
+ * @default 2
161
+ */
162
+ pageMultiplier: number;
163
+
164
+ /**
165
+ * Prevents the lower thumb to crossover the thumb handle.
166
+ * @default true
167
+ */
168
+ preventCrossover: boolean;
169
+
170
+ // endregion
171
+
172
+ // region Callbacks
173
+
174
+ /**
175
+ * Is called when the slider value is changed.
176
+ */
177
+ onChange(this: JQuery, value: number, thumbVal: number, secondThumbVal: number): void;
178
+
179
+ /**
180
+ * Is called when the slider is moving.
181
+ */
182
+ onMove(this: JQuery, value: number, thumbVal: number, secondThumbVal: number): void;
183
+
184
+ // endregion
185
+
186
+ // region DOM Settings
187
+
188
+ /**
189
+ * Class names used to determine element state.
190
+ */
191
+ className: Slider.ClassNameSettings;
192
+
193
+ /**
194
+ * DOM metadata used by module.
195
+ */
196
+ metadata: Slider.MetadataSettings;
197
+
198
+ /**
199
+ * Keys used by module.
200
+ */
201
+ keys: Slider.KeySettings;
202
+
203
+ // endregion
204
+
205
+ // region Debug Settings
206
+
207
+ /**
208
+ * Name used in log statements
209
+ */
210
+ name: string;
211
+
212
+ /**
213
+ * Event namespace. Makes sure module teardown does not effect other events attached to an element.
214
+ */
215
+ namespace: string;
216
+
217
+ /**
218
+ * Silences all console output including error messages, regardless of other debug settings.
219
+ */
220
+ silent: boolean;
221
+
222
+ /**
223
+ * Debug output to console
224
+ */
225
+ debug: boolean;
226
+
227
+ /**
228
+ * Show console.table output with performance metrics
229
+ */
230
+ performance: boolean;
231
+
232
+ /**
233
+ * Debug output includes all internal behaviors
234
+ */
235
+ verbose: boolean;
236
+
237
+ error: Slider.ErrorSettings;
238
+
239
+ // endregion
240
+ }
241
+
242
+ namespace Slider {
243
+ type ClassNameSettings = ClassNameSettings.Param;
244
+
245
+ namespace ClassNameSettings {
246
+ type Param = (
247
+ | Pick<_Impl, 'reversed'>
248
+ | Pick<_Impl, 'disabled'>
249
+ | Pick<_Impl, 'labeled'>
250
+ | Pick<_Impl, 'ticked'>
251
+ | Pick<_Impl, 'vertical'>
252
+ | Pick<_Impl, 'range'>
253
+ | Pick<_Impl, 'smooth'>
254
+ ) &
255
+ Partial<Pick<_Impl, keyof _Impl>>;
256
+
257
+ interface _Impl {
258
+ /**
259
+ * @default 'reversed'
260
+ */
261
+ reversed: string;
262
+
263
+ /**
264
+ * @default 'disabled'
265
+ */
266
+ disabled: string;
267
+
268
+ /**
269
+ * @default 'labeled'
270
+ */
271
+ labeled: string;
272
+
273
+ /**
274
+ * @default 'ticked'
275
+ */
276
+ ticked: string;
277
+
278
+ /**
279
+ * @default 'vertical'
280
+ */
281
+ vertical: string;
282
+
283
+ /**
284
+ * @default 'range'
285
+ */
286
+ range: string;
287
+
288
+ /**
289
+ * @default 'smooth'
290
+ */
291
+ smooth: string;
292
+ }
293
+ }
294
+
295
+ type MetadataSettings = MetadataSettings.Param;
296
+
297
+ namespace MetadataSettings {
298
+ type Param = (Pick<_Impl, 'thumbVal'> | Pick<_Impl, 'secondThumbVal'>) &
299
+ Partial<Pick<_Impl, keyof _Impl>>;
300
+
301
+ interface _Impl {
302
+ /**
303
+ * @default 'thumbVal'
304
+ */
305
+ thumbVal: string;
306
+
307
+ /**
308
+ * @default 'secondThumbVal'
309
+ */
310
+ secondThumbVal: string;
311
+ }
312
+ }
313
+
314
+ type KeySettings = KeySettings.Param;
315
+
316
+ namespace KeySettings {
317
+ type Param = (
318
+ | Pick<_Impl, 'pageUp'>
319
+ | Pick<_Impl, 'pageDown'>
320
+ | Pick<_Impl, 'leftArrow'>
321
+ | Pick<_Impl, 'upArrow'>
322
+ | Pick<_Impl, 'rightArrow'>
323
+ | Pick<_Impl, 'downArrow'>
324
+ ) &
325
+ Partial<Pick<_Impl, keyof _Impl>>;
326
+
327
+ interface _Impl {
328
+ /**
329
+ * @default 33
330
+ */
331
+ pageUp: number;
332
+
333
+ /**
334
+ * @default 34
335
+ */
336
+ pageDown: number;
337
+
338
+ /**
339
+ * @default 37
340
+ */
341
+ leftArrow: number;
342
+
343
+ /**
344
+ * @default 38
345
+ */
346
+ upArrow: number;
347
+
348
+ /**
349
+ * @default 39
350
+ */
351
+ rightArrow: number;
352
+
353
+ /**
354
+ * @default 40
355
+ */
356
+ downArrow: number;
357
+ }
358
+ }
359
+
360
+ type ErrorSettings = ErrorSettings.Param;
361
+
362
+ namespace ErrorSettings {
363
+ type Param = (Pick<_Impl, 'method'> | Pick<_Impl, 'notrange'>) & Partial<Pick<_Impl, keyof _Impl>>;
364
+
365
+ interface _Impl {
366
+ /**
367
+ * @default 'The method you called is not defined.'
368
+ */
369
+ method: string;
370
+
371
+ /**
372
+ * @default 'This slider is not a range slider.'
373
+ */
374
+ notrange: string;
375
+ }
376
+ }
377
+ }
378
+ }
379
+ }
@@ -0,0 +1,261 @@
1
+ declare namespace FomanticUI {
2
+ interface Sticky {
3
+ settings: StickySettings;
4
+
5
+ (behavior: 'destroy'): JQuery;
6
+ <K extends keyof StickySettings>(behavior: 'setting', name: K, value?: undefined): StickySettings._Impl[K];
7
+ <K extends keyof StickySettings>(behavior: 'setting', name: K, value: StickySettings._Impl[K]): JQuery;
8
+ (behavior: 'setting', value: StickySettings): JQuery;
9
+ (settings?: StickySettings): JQuery;
10
+ }
11
+
12
+ /**
13
+ * @see {@link https://fomantic-ui.com/modules/sticky.html#/settings}
14
+ */
15
+ type StickySettings = StickySettings.Param;
16
+
17
+ namespace StickySettings {
18
+ type Param = (
19
+ | Pick<_Impl, 'pushing'>
20
+ | Pick<_Impl, 'setSize'>
21
+ | Pick<_Impl, 'jitter'>
22
+ | Pick<_Impl, 'observeChanges'>
23
+ | Pick<_Impl, 'context'>
24
+ | Pick<_Impl, 'scrollContext'>
25
+ | Pick<_Impl, 'offset'>
26
+ | Pick<_Impl, 'bottomOffset'>
27
+ | Pick<_Impl, 'onReposition'>
28
+ | Pick<_Impl, 'onScroll'>
29
+ | Pick<_Impl, 'onStick'>
30
+ | Pick<_Impl, 'onUnstick'>
31
+ | Pick<_Impl, 'onTop'>
32
+ | Pick<_Impl, 'onBottom'>
33
+ // Pick<_Impl, 'selector'> |
34
+ | Pick<_Impl, 'className'>
35
+ | Pick<_Impl, 'name'>
36
+ | Pick<_Impl, 'namespace'>
37
+ | Pick<_Impl, 'silent'>
38
+ | Pick<_Impl, 'debug'>
39
+ | Pick<_Impl, 'performance'>
40
+ | Pick<_Impl, 'verbose'>
41
+ | Pick<_Impl, 'error'>
42
+ ) &
43
+ Partial<Pick<_Impl, keyof _Impl>>;
44
+
45
+ interface _Impl {
46
+ // region Sticky Settings
47
+
48
+ /**
49
+ * Whether element should be "pushed" by the viewport, attaching to the bottom of the screen when scrolling up.
50
+ * @default false
51
+ */
52
+ pushing: boolean;
53
+
54
+ /**
55
+ * Sets size of fixed content to match its width before fixing to screen dynamically.
56
+ * This is used because fixed may display block or 100% width content differently than it appears before sticking.
57
+ * @default true
58
+ */
59
+ setSize: boolean;
60
+
61
+ /**
62
+ * Sticky container height will only be set if the difference between heights of container and context is larger than this jitter value.
63
+ * @default 5
64
+ */
65
+ jitter: number;
66
+
67
+ /**
68
+ * Whether any change in 'context' DOM should automatically refresh cached sticky positions.
69
+ * @default false
70
+ */
71
+ observeChanges: boolean;
72
+
73
+ /**
74
+ * Context which sticky element should stick to.
75
+ * @default false
76
+ */
77
+ context: boolean | string;
78
+
79
+ /**
80
+ * Context which sticky should attach 'onscroll' events.
81
+ * @default window
82
+ */
83
+ scrollContext: Window | string;
84
+
85
+ /**
86
+ * Offset in pixels from the top of the screen when fixing element to viewport.
87
+ * @default 0
88
+ */
89
+ offset: number;
90
+
91
+ /**
92
+ * Offset in pixels from the bottom of the screen when fixing element to viewport.
93
+ * @default 0
94
+ */
95
+ bottomOffset: number;
96
+
97
+ // endregion
98
+
99
+ // region Callbacks
100
+
101
+ /**
102
+ * Callback when element is repositioned from layout change.
103
+ */
104
+ onReposition(this: JQuery): void;
105
+
106
+ /**
107
+ * Callback when 'requestAnimationFrame' fires from scroll handler.
108
+ */
109
+ onScroll(this: JQuery): void;
110
+
111
+ /**
112
+ * Callback when element is fixed to page.
113
+ */
114
+ onStick(this: JQuery): void;
115
+
116
+ /**
117
+ * Callback when element is unfixed from page.
118
+ */
119
+ onUnstick(this: JQuery): void;
120
+
121
+ /**
122
+ * Callback when element is bound to top of parent container.
123
+ */
124
+ onTop(this: JQuery): void;
125
+
126
+ /**
127
+ * Callback when element is bound to bottom of parent container.
128
+ */
129
+ onBottom(this: JQuery): void;
130
+
131
+ // endregion
132
+
133
+ // region DOM Settings
134
+
135
+ /**
136
+ * Class names used to determine element state.
137
+ */
138
+ className: Sticky.ClassNameSettings;
139
+
140
+ // endregion
141
+
142
+ // region Debug Settings
143
+
144
+ /**
145
+ * Name used in log statements
146
+ */
147
+ name: string;
148
+
149
+ /**
150
+ * Event namespace. Makes sure module teardown does not effect other events attached to an element.
151
+ */
152
+ namespace: string;
153
+
154
+ /**
155
+ * Silences all console output including error messages, regardless of other debug settings.
156
+ */
157
+ silent: boolean;
158
+
159
+ /**
160
+ * Debug output to console
161
+ */
162
+ debug: boolean;
163
+
164
+ /**
165
+ * Show console.table output with performance metrics
166
+ */
167
+ performance: boolean;
168
+
169
+ /**
170
+ * Debug output includes all internal behaviors
171
+ */
172
+ verbose: boolean;
173
+
174
+ error: Sticky.ErrorSettings;
175
+
176
+ // endregion
177
+ }
178
+
179
+ namespace Sticky {
180
+ type ClassNameSettings = ClassNameSettings.Param;
181
+
182
+ namespace ClassNameSettings {
183
+ type Param = (
184
+ | Pick<_Impl, 'bound'>
185
+ | Pick<_Impl, 'fixed'>
186
+ | Pick<_Impl, 'supported'>
187
+ | Pick<_Impl, 'top'>
188
+ | Pick<_Impl, 'bottom'>
189
+ ) &
190
+ Partial<Pick<_Impl, keyof _Impl>>;
191
+
192
+ interface _Impl {
193
+ /**
194
+ * @default 'bound'
195
+ */
196
+ bound: string;
197
+
198
+ /**
199
+ * @default 'fixed'
200
+ */
201
+ fixed: string;
202
+
203
+ /**
204
+ * @default 'native'
205
+ */
206
+ supported: string;
207
+
208
+ /**
209
+ * @default 'top'
210
+ */
211
+ top: string;
212
+
213
+ /**
214
+ * @default 'bottom'
215
+ */
216
+ bottom: string;
217
+ }
218
+ }
219
+
220
+ type ErrorSettings = ErrorSettings.Param;
221
+
222
+ namespace ErrorSettings {
223
+ type Param = (
224
+ | Pick<_Impl, 'container'>
225
+ | Pick<_Impl, 'visible'>
226
+ | Pick<_Impl, 'method'>
227
+ | Pick<_Impl, 'invalidContext'>
228
+ | Pick<_Impl, 'elementSize'>
229
+ ) &
230
+ Partial<Pick<_Impl, keyof _Impl>>;
231
+
232
+ interface _Impl {
233
+ /**
234
+ * @default 'Sticky element must be inside a relative container'
235
+ */
236
+ container: string;
237
+
238
+ /**
239
+ * @default 'Element is hidden, you must call refresh after element becomes visible'
240
+ */
241
+ visible: string;
242
+
243
+ /**
244
+ * @default 'The method you called is not defined.'
245
+ */
246
+ method: string;
247
+
248
+ /**
249
+ * @default 'Context specified does not exist'
250
+ */
251
+ invalidContext: string;
252
+
253
+ /**
254
+ * @default 'Sticky element is larger than its container, cannot create sticky.'
255
+ */
256
+ elementSize: string;
257
+ }
258
+ }
259
+ }
260
+ }
261
+ }