fomantic-ui 2.9.3-beta.5 → 2.9.3-beta.50

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 (269) hide show
  1. package/.all-contributorsrc +2 -2
  2. package/.github/FUNDING.yml +1 -1
  3. package/.github/auto_assign.yml +1 -1
  4. package/.github/workflows/ci.yml +2 -2
  5. package/CONTRIBUTORS.md +1 -1
  6. package/README.md +5 -2
  7. package/SECURITY.md +2 -1
  8. package/dist/components/accordion.css +1 -1
  9. package/dist/components/accordion.js +2 -2
  10. package/dist/components/accordion.min.css +1 -1
  11. package/dist/components/accordion.min.js +2 -2
  12. package/dist/components/ad.css +1 -1
  13. package/dist/components/ad.min.css +1 -1
  14. package/dist/components/api.js +3 -3
  15. package/dist/components/api.min.js +2 -2
  16. package/dist/components/breadcrumb.css +1 -1
  17. package/dist/components/breadcrumb.min.css +1 -1
  18. package/dist/components/button.css +2 -2
  19. package/dist/components/button.min.css +2 -2
  20. package/dist/components/calendar.css +1 -1
  21. package/dist/components/calendar.js +2 -2
  22. package/dist/components/calendar.min.css +1 -1
  23. package/dist/components/calendar.min.js +2 -2
  24. package/dist/components/card.css +1 -1
  25. package/dist/components/card.min.css +1 -1
  26. package/dist/components/checkbox.css +50 -6
  27. package/dist/components/checkbox.js +5 -3
  28. package/dist/components/checkbox.min.css +2 -2
  29. package/dist/components/checkbox.min.js +2 -2
  30. package/dist/components/comment.css +6 -1
  31. package/dist/components/comment.min.css +2 -2
  32. package/dist/components/container.css +62 -1
  33. package/dist/components/container.min.css +2 -2
  34. package/dist/components/dimmer.css +3 -3
  35. package/dist/components/dimmer.js +2 -2
  36. package/dist/components/dimmer.min.css +2 -2
  37. package/dist/components/dimmer.min.js +2 -2
  38. package/dist/components/divider.css +1 -1
  39. package/dist/components/divider.min.css +1 -1
  40. package/dist/components/dropdown.css +24 -3
  41. package/dist/components/dropdown.js +29 -21
  42. package/dist/components/dropdown.min.css +2 -2
  43. package/dist/components/dropdown.min.js +2 -2
  44. package/dist/components/embed.css +1 -1
  45. package/dist/components/embed.js +2 -2
  46. package/dist/components/embed.min.css +1 -1
  47. package/dist/components/embed.min.js +2 -2
  48. package/dist/components/emoji.css +697 -249
  49. package/dist/components/emoji.min.css +2 -2
  50. package/dist/components/feed.css +486 -5
  51. package/dist/components/feed.min.css +2 -2
  52. package/dist/components/flag.css +3 -2
  53. package/dist/components/flag.min.css +2 -2
  54. package/dist/components/flyout.css +1 -1
  55. package/dist/components/flyout.js +5 -3
  56. package/dist/components/flyout.min.css +1 -1
  57. package/dist/components/flyout.min.js +2 -2
  58. package/dist/components/form.css +53 -20
  59. package/dist/components/form.js +73 -32
  60. package/dist/components/form.min.css +2 -2
  61. package/dist/components/form.min.js +2 -2
  62. package/dist/components/grid.css +107 -107
  63. package/dist/components/grid.min.css +2 -2
  64. package/dist/components/header.css +1 -1
  65. package/dist/components/header.min.css +1 -1
  66. package/dist/components/icon.css +62 -62
  67. package/dist/components/icon.min.css +2 -2
  68. package/dist/components/image.css +1 -1
  69. package/dist/components/image.min.css +1 -1
  70. package/dist/components/input.css +3 -27
  71. package/dist/components/input.min.css +2 -2
  72. package/dist/components/item.css +6 -1
  73. package/dist/components/item.min.css +2 -2
  74. package/dist/components/label.css +21 -2
  75. package/dist/components/label.min.css +2 -2
  76. package/dist/components/list.css +13 -13
  77. package/dist/components/list.min.css +2 -2
  78. package/dist/components/loader.css +282 -282
  79. package/dist/components/loader.min.css +2 -2
  80. package/dist/components/menu.css +13 -7
  81. package/dist/components/menu.min.css +2 -2
  82. package/dist/components/message.css +1 -1
  83. package/dist/components/message.min.css +1 -1
  84. package/dist/components/modal.css +10 -3
  85. package/dist/components/modal.js +10 -10
  86. package/dist/components/modal.min.css +2 -2
  87. package/dist/components/modal.min.js +2 -2
  88. package/dist/components/nag.css +1 -1
  89. package/dist/components/nag.js +3 -3
  90. package/dist/components/nag.min.css +1 -1
  91. package/dist/components/nag.min.js +2 -2
  92. package/dist/components/placeholder.css +1 -1
  93. package/dist/components/placeholder.min.css +1 -1
  94. package/dist/components/popup.css +41 -40
  95. package/dist/components/popup.js +11 -9
  96. package/dist/components/popup.min.css +2 -2
  97. package/dist/components/popup.min.js +2 -2
  98. package/dist/components/progress.css +1 -1
  99. package/dist/components/progress.js +2 -2
  100. package/dist/components/progress.min.css +1 -1
  101. package/dist/components/progress.min.js +2 -2
  102. package/dist/components/rail.css +1 -1
  103. package/dist/components/rail.min.css +1 -1
  104. package/dist/components/rating.css +1 -1
  105. package/dist/components/rating.js +2 -2
  106. package/dist/components/rating.min.css +1 -1
  107. package/dist/components/rating.min.js +2 -2
  108. package/dist/components/reset.css +1 -1
  109. package/dist/components/reset.min.css +1 -1
  110. package/dist/components/reveal.css +1 -1
  111. package/dist/components/reveal.min.css +1 -1
  112. package/dist/components/search.css +26 -1
  113. package/dist/components/search.js +5 -4
  114. package/dist/components/search.min.css +2 -2
  115. package/dist/components/search.min.js +2 -2
  116. package/dist/components/segment.css +159 -33
  117. package/dist/components/segment.min.css +2 -2
  118. package/dist/components/shape.css +1 -1
  119. package/dist/components/shape.js +2 -2
  120. package/dist/components/shape.min.css +1 -1
  121. package/dist/components/shape.min.js +2 -2
  122. package/dist/components/sidebar.css +1 -1
  123. package/dist/components/sidebar.js +2 -2
  124. package/dist/components/sidebar.min.css +1 -1
  125. package/dist/components/sidebar.min.js +2 -2
  126. package/dist/components/site.css +1 -1
  127. package/dist/components/site.js +2 -2
  128. package/dist/components/site.min.css +1 -1
  129. package/dist/components/site.min.js +2 -2
  130. package/dist/components/slider.css +1 -1
  131. package/dist/components/slider.js +123 -27
  132. package/dist/components/slider.min.css +1 -1
  133. package/dist/components/slider.min.js +2 -2
  134. package/dist/components/state.js +2 -2
  135. package/dist/components/state.min.js +2 -2
  136. package/dist/components/statistic.css +1 -1
  137. package/dist/components/statistic.min.css +1 -1
  138. package/dist/components/step.css +1 -1
  139. package/dist/components/step.min.css +1 -1
  140. package/dist/components/sticky.css +1 -1
  141. package/dist/components/sticky.js +2 -2
  142. package/dist/components/sticky.min.css +1 -1
  143. package/dist/components/sticky.min.js +2 -2
  144. package/dist/components/tab.css +1 -1
  145. package/dist/components/tab.js +6 -4
  146. package/dist/components/tab.min.css +1 -1
  147. package/dist/components/tab.min.js +2 -2
  148. package/dist/components/table.css +65 -1
  149. package/dist/components/table.min.css +2 -2
  150. package/dist/components/text.css +1 -1
  151. package/dist/components/text.min.css +1 -1
  152. package/dist/components/toast.css +6 -1
  153. package/dist/components/toast.js +2 -2
  154. package/dist/components/toast.min.css +2 -2
  155. package/dist/components/toast.min.js +2 -2
  156. package/dist/components/transition.css +1 -1
  157. package/dist/components/transition.js +3 -3
  158. package/dist/components/transition.min.css +1 -1
  159. package/dist/components/transition.min.js +2 -2
  160. package/dist/components/visibility.js +2 -2
  161. package/dist/components/visibility.min.js +2 -2
  162. package/dist/semantic.css +2635 -959
  163. package/dist/semantic.js +303 -149
  164. package/dist/semantic.min.css +2 -2
  165. package/dist/semantic.min.js +2 -2
  166. package/package.json +3 -2
  167. package/src/definitions/behaviors/api.js +2 -2
  168. package/src/definitions/behaviors/form.js +72 -31
  169. package/src/definitions/behaviors/state.js +1 -1
  170. package/src/definitions/behaviors/visibility.js +1 -1
  171. package/src/definitions/collections/form.less +25 -12
  172. package/src/definitions/collections/grid.less +106 -106
  173. package/src/definitions/collections/menu.less +29 -22
  174. package/src/definitions/collections/table.less +66 -0
  175. package/src/definitions/elements/button.less +1 -1
  176. package/src/definitions/elements/container.less +63 -0
  177. package/src/definitions/elements/icon.less +5 -5
  178. package/src/definitions/elements/input.less +2 -2
  179. package/src/definitions/elements/label.less +21 -1
  180. package/src/definitions/elements/list.less +13 -13
  181. package/src/definitions/elements/loader.less +71 -71
  182. package/src/definitions/elements/segment.less +110 -13
  183. package/src/definitions/globals/site.js +1 -1
  184. package/src/definitions/modules/accordion.js +1 -1
  185. package/src/definitions/modules/calendar.js +1 -1
  186. package/src/definitions/modules/checkbox.js +4 -2
  187. package/src/definitions/modules/checkbox.less +61 -5
  188. package/src/definitions/modules/dimmer.js +1 -1
  189. package/src/definitions/modules/dimmer.less +2 -2
  190. package/src/definitions/modules/dropdown.js +28 -20
  191. package/src/definitions/modules/dropdown.less +33 -2
  192. package/src/definitions/modules/embed.js +1 -1
  193. package/src/definitions/modules/flyout.js +4 -2
  194. package/src/definitions/modules/modal.js +9 -9
  195. package/src/definitions/modules/modal.less +11 -2
  196. package/src/definitions/modules/nag.js +2 -2
  197. package/src/definitions/modules/popup.js +10 -8
  198. package/src/definitions/modules/popup.less +40 -38
  199. package/src/definitions/modules/progress.js +1 -1
  200. package/src/definitions/modules/rating.js +1 -1
  201. package/src/definitions/modules/search.js +4 -3
  202. package/src/definitions/modules/search.less +31 -0
  203. package/src/definitions/modules/shape.js +1 -1
  204. package/src/definitions/modules/sidebar.js +1 -1
  205. package/src/definitions/modules/slider.js +122 -26
  206. package/src/definitions/modules/sticky.js +1 -1
  207. package/src/definitions/modules/tab.js +5 -3
  208. package/src/definitions/modules/toast.js +1 -1
  209. package/src/definitions/modules/toast.less +7 -0
  210. package/src/definitions/modules/transition.js +2 -2
  211. package/src/definitions/views/comment.less +7 -0
  212. package/src/definitions/views/feed.less +238 -32
  213. package/src/definitions/views/item.less +7 -0
  214. package/src/themes/amazon/elements/button.variables +5 -1
  215. package/src/themes/bootstrap3/elements/button.variables +5 -1
  216. package/src/themes/chubby/elements/header.variables +6 -1
  217. package/src/themes/default/collections/message.variables +3 -9
  218. package/src/themes/default/collections/table.variables +3 -0
  219. package/src/themes/default/elements/button.variables +1 -3
  220. package/src/themes/default/elements/container.variables +3 -0
  221. package/src/themes/default/elements/emoji.variables +179 -67
  222. package/src/themes/default/elements/flag.variables +1 -1
  223. package/src/themes/default/elements/label.variables +5 -0
  224. package/src/themes/default/elements/segment.variables +8 -0
  225. package/src/themes/default/globals/site.variables +20 -1
  226. package/src/themes/default/globals/variation.variables +23 -1
  227. package/src/themes/default/modules/checkbox.variables +12 -0
  228. package/src/themes/default/modules/dropdown.variables +3 -0
  229. package/src/themes/default/modules/modal.variables +4 -0
  230. package/src/themes/default/modules/popup.variables +3 -1
  231. package/src/themes/default/modules/search.variables +3 -0
  232. package/src/themes/default/modules/toast.variables +1 -0
  233. package/src/themes/default/views/card.variables +4 -12
  234. package/src/themes/default/views/feed.variables +55 -1
  235. package/src/themes/github/elements/button.variables +5 -1
  236. package/src/themes/joypixels/elements/emoji.variables +182 -70
  237. package/src/themes/twitter/elements/button.variables +5 -1
  238. package/src/themes/twitter/elements/emoji.variables +178 -66
  239. package/tasks/admin/distributions/create.js +8 -3
  240. package/tasks/config/project/install.js +3 -0
  241. package/tasks/config/tasks.js +1 -8
  242. package/tasks/install.js +15 -5
  243. package/types/fomantic-ui-accordion.d.ts +244 -0
  244. package/types/fomantic-ui-api.d.ts +555 -0
  245. package/types/fomantic-ui-calendar.d.ts +766 -0
  246. package/types/fomantic-ui-checkbox.d.ts +332 -0
  247. package/types/fomantic-ui-dimmer.d.ts +408 -0
  248. package/types/fomantic-ui-dropdown.d.ts +1183 -0
  249. package/types/fomantic-ui-embed.d.ts +326 -0
  250. package/types/fomantic-ui-flyout.d.ts +525 -0
  251. package/types/fomantic-ui-form.d.ts +651 -0
  252. package/types/fomantic-ui-modal.d.ts +471 -0
  253. package/types/fomantic-ui-nag.d.ts +270 -0
  254. package/types/fomantic-ui-popup.d.ts +523 -0
  255. package/types/fomantic-ui-progress.d.ts +459 -0
  256. package/types/fomantic-ui-rating.d.ts +187 -0
  257. package/types/fomantic-ui-search.d.ts +496 -0
  258. package/types/fomantic-ui-shape.d.ts +274 -0
  259. package/types/fomantic-ui-sidebar.d.ts +402 -0
  260. package/types/fomantic-ui-slider.d.ts +316 -0
  261. package/types/fomantic-ui-sticky.d.ts +215 -0
  262. package/types/fomantic-ui-tab.d.ts +361 -0
  263. package/types/fomantic-ui-tests.ts +25 -0
  264. package/types/fomantic-ui-toast.d.ts +514 -0
  265. package/types/fomantic-ui-transition.d.ts +355 -0
  266. package/types/fomantic-ui-visibility.d.ts +355 -0
  267. package/types/index.d.ts +63 -0
  268. package/types/tsconfig.json +23 -0
  269. package/types/tslint.json +1 -0
@@ -3,7 +3,7 @@
3
3
  *******************************/
4
4
 
5
5
  /*
6
- This will create individual distribution repositories for each SUI distribution
6
+ This will create individual distribution repositories for each FUI distribution
7
7
 
8
8
  * copy distribution files to release
9
9
  * update package.json file
@@ -153,6 +153,8 @@ module.exports = function (callback) {
153
153
  tasks.push(function () {
154
154
  let
155
155
  definitions,
156
+ overridesImport,
157
+ lessImport,
156
158
  themeImport,
157
159
  themeConfig,
158
160
  siteTheme,
@@ -161,7 +163,10 @@ module.exports = function (callback) {
161
163
  definitions = gulp.src('src/definitions/**/*', { base: 'src/' })
162
164
  .pipe(gulp.dest(outputDirectory))
163
165
  ;
164
- themeImport = gulp.src('src/semantic.less', { base: 'src/' })
166
+ overridesImport = gulp.src('src/overrides.less', { base: 'src/' })
167
+ .pipe(gulp.dest(outputDirectory))
168
+ ;
169
+ lessImport = gulp.src('src/semantic.less', { base: 'src/' })
165
170
  .pipe(gulp.dest(outputDirectory))
166
171
  ;
167
172
  themeImport = gulp.src('src/theme.less', { base: 'src/' })
@@ -177,7 +182,7 @@ module.exports = function (callback) {
177
182
  .pipe(gulp.dest(outputDirectory))
178
183
  ;
179
184
 
180
- return mergeStream(definitions, themeImport, themeConfig, siteTheme, themes);
185
+ return mergeStream(definitions, overridesImport, lessImport, themeImport, themeConfig, siteTheme, themes);
181
186
  });
182
187
  }
183
188
 
@@ -240,6 +240,7 @@ module.exports = {
240
240
  config: './semantic.json.example',
241
241
  definitions: './src/definitions',
242
242
  gulpFile: './gulpfile.js',
243
+ overridesImport: './src/overrides.less',
243
244
  lessImport: './src/semantic.less',
244
245
  site: './src/_site',
245
246
  tasks: './tasks',
@@ -253,6 +254,7 @@ module.exports = {
253
254
  // expected final filenames
254
255
  files: {
255
256
  config: 'semantic.json',
257
+ overridesImport: 'src/overrides.less',
256
258
  lessImport: 'src/semantic.less',
257
259
  site: 'src/site',
258
260
  themeConfig: 'src/theme.config',
@@ -263,6 +265,7 @@ module.exports = {
263
265
  folders: {
264
266
  config: './',
265
267
  definitions: 'src/definitions/',
268
+ overridesImport: 'src/',
266
269
  lessImport: 'src/',
267
270
  modules: 'node_modules/',
268
271
  site: 'src/site/',
@@ -9,7 +9,7 @@ let defaultBrowsers = browserslist(browserslist.defaults);
9
9
  let userBrowsers = browserslist();
10
10
  let hasBrowserslistConfig = JSON.stringify(defaultBrowsers) !== JSON.stringify(userBrowsers);
11
11
 
12
- var prefix = config.prefix || {};
12
+ let prefix = config.prefix || {};
13
13
  if (!prefix.overrideBrowserslist && !hasBrowserslistConfig) {
14
14
  prefix.overrideBrowserslist = [
15
15
  'last 2 Chrome versions',
@@ -114,10 +114,7 @@ module.exports = {
114
114
  let
115
115
  regExp = {
116
116
  variable: /@(\S.*?)\s/,
117
- theme: /themes[/\\]+(.*?)[/\\].*/,
118
- element: /[/\\]([^*/\\]*)\.overrides/,
119
117
  },
120
- theme,
121
118
  element
122
119
  ;
123
120
  if (error && error.filename && /theme.less/.test(error.filename)) {
@@ -127,10 +124,6 @@ module.exports = {
127
124
  console.error('Missing theme.config value for', element);
128
125
  }
129
126
  console.error('Most likely new UI was added in an update. You will need to add missing elements from theme.config.example');
130
- } else if (error.line === 84) {
131
- element = regExp.element.exec(error.message)[1];
132
- theme = regExp.theme.exec(error.message)[1];
133
- console.error(theme + ' is not an available theme for ' + element);
134
127
  } else {
135
128
  console.error(error);
136
129
  }
package/tasks/install.js CHANGED
@@ -69,9 +69,9 @@ module.exports = function (callback) {
69
69
  root: path.normalize(__dirname + '/../'),
70
70
  }; */
71
71
 
72
- /* Don't do end user config if SUI is a sub-module */
72
+ /* Don't do end user config if FUI is a sub-module */
73
73
  if (install.isSubModule()) {
74
- console.info('SUI is a sub-module, skipping end-user install');
74
+ console.info('FUI is a sub-module, skipping end-user install');
75
75
  callback();
76
76
 
77
77
  return;
@@ -86,7 +86,7 @@ module.exports = function (callback) {
86
86
  }
87
87
 
88
88
  /* -----------------
89
- Update SUI
89
+ Update FUI
90
90
  ----------------- */
91
91
 
92
92
  // run update scripts if semantic.json exists
@@ -96,6 +96,7 @@ module.exports = function (callback) {
96
96
  updatePaths = {
97
97
  config: path.join(manager.root, files.config),
98
98
  tasks: path.join(updateFolder, folders.tasks),
99
+ overridesImport: path.join(updateFolder, folders.overridesImport),
99
100
  themeImport: path.join(updateFolder, folders.themeImport),
100
101
  definition: path.join(currentConfig.paths.source.definitions),
101
102
  site: path.join(currentConfig.paths.source.site),
@@ -132,7 +133,11 @@ module.exports = function (callback) {
132
133
  .pipe(plumber())
133
134
  .pipe(gulp.dest(updatePaths.themeImport))
134
135
  ;
135
-
136
+ console.info('Updating overrides import file');
137
+ gulp.src(source.overridesImport)
138
+ .pipe(plumber())
139
+ .pipe(gulp.dest(updatePaths.overridesImport))
140
+ ;
136
141
  console.info('Adding new site theme files...');
137
142
  wrench.copyDirSyncRecursive(source.site, updatePaths.site, settings.wrench.merge);
138
143
 
@@ -187,7 +192,7 @@ module.exports = function (callback) {
187
192
  }
188
193
 
189
194
  /* --------------
190
- Create SUI
195
+ Create FUI
191
196
  --------------- */
192
197
 
193
198
  gulp.task('run setup', function (callback) {
@@ -263,6 +268,7 @@ module.exports = function (callback) {
263
268
  // special install paths only for PM install
264
269
  installPaths = extend(false, {}, installPaths, {
265
270
  definition: folders.definitions,
271
+ overridesImport: folders.overridesImport,
266
272
  lessImport: folders.lessImport,
267
273
  tasks: folders.tasks,
268
274
  theme: folders.themes,
@@ -311,6 +317,10 @@ module.exports = function (callback) {
311
317
  .pipe(plumber())
312
318
  .pipe(gulp.dest(installPaths.themeImport))
313
319
  ;
320
+ gulp.src(source.overridesImport)
321
+ .pipe(plumber())
322
+ .pipe(gulp.dest(installPaths.overridesImport))
323
+ ;
314
324
  gulp.src(source.lessImport)
315
325
  .pipe(plumber())
316
326
  .pipe(gulp.dest(installPaths.lessImport))
@@ -0,0 +1,244 @@
1
+ declare namespace FomanticUI {
2
+ interface Accordion {
3
+ settings: AccordionSettings;
4
+
5
+ /**
6
+ * Refreshes all cached selectors and data.
7
+ */
8
+ (behavior: 'refresh'): JQuery;
9
+
10
+ /**
11
+ * Opens accordion content at index.
12
+ */
13
+ (behavior: 'open', index: number): JQuery;
14
+
15
+ /**
16
+ * Closes accordion content that are not active.
17
+ */
18
+ (behavior: 'close others'): JQuery;
19
+
20
+ /**
21
+ * Closes accordion content at index.
22
+ */
23
+ (behavior: 'close', index: number): JQuery;
24
+
25
+ /**
26
+ * Toggles accordion content at index.
27
+ */
28
+ (behavior: 'toggle', index: number): JQuery;
29
+
30
+ (behavior: 'destroy'): JQuery;
31
+ <K extends keyof AccordionSettings>(behavior: 'setting', name: K, value?: undefined, ): Partial<Pick<AccordionSettings, keyof AccordionSettings>>;
32
+ <K extends keyof AccordionSettings>(behavior: 'setting', name: K, value: AccordionSettings[K]): JQuery;
33
+ (behavior: 'setting', value: Partial<Pick<AccordionSettings, keyof AccordionSettings>>): JQuery;
34
+ (settings?: Partial<Pick<AccordionSettings, keyof AccordionSettings>>): JQuery;
35
+ }
36
+
37
+ /**
38
+ * @see {@link https://fomantic-ui.com/modules/accordion.html#/settings}
39
+ */
40
+ interface AccordionSettings {
41
+ // region Accordion Settings
42
+
43
+ /**
44
+ * Only allow one section open at a time.
45
+ * @default true
46
+ */
47
+ exclusive?: boolean | undefined;
48
+
49
+ /**
50
+ * Event on 'title' that will cause accordion to open.
51
+ * @default 'click'
52
+ */
53
+ on: string;
54
+
55
+ /**
56
+ * Whether child content opacity should be animated (may cause performance issues with many child elements).
57
+ * @default true
58
+ */
59
+ animateChildren: boolean;
60
+
61
+ /**
62
+ * Close open nested accordion content when an element closes.
63
+ * @default false
64
+ */
65
+ closeNested: boolean;
66
+
67
+ /**
68
+ * Allow active sections to collapse.
69
+ * @default true
70
+ */
71
+ collapsible: boolean;
72
+
73
+ /**
74
+ * Duration in ms of opening animation.
75
+ * @default 350
76
+ */
77
+ duration: number;
78
+
79
+ /**
80
+ * Easing of opening animation. EaseInOutQuint is included with accordion, for additional options you must include easing equations.
81
+ * @see {@link http://gsgd.co.uk/sandbox/jquery/easing/}
82
+ * @default 'easeOutQuad'
83
+ */
84
+ easing: string;
85
+
86
+ /**
87
+ * Whether accordion should automatically refresh on DOM insertion
88
+ * @default true
89
+ */
90
+ observeChanges: boolean;
91
+
92
+ // endregion
93
+
94
+ // region Callbacks
95
+
96
+ /**
97
+ * Callback before element opens.
98
+ */
99
+ onOpening(this: JQuery): void;
100
+
101
+ /**
102
+ * Callback after element is open.
103
+ */
104
+ onOpen(this: JQuery): void;
105
+
106
+ /**
107
+ * Callback before element closes.
108
+ */
109
+ onClosing(this: JQuery): void;
110
+
111
+ /**
112
+ * Callback after element is closed.
113
+ */
114
+ onClose(this: JQuery): void;
115
+
116
+ /**
117
+ * Callback before element opens or closes.
118
+ */
119
+ onChanging(this: JQuery): void;
120
+
121
+ /**
122
+ * Callback before element opens or closes.
123
+ */
124
+ onChange(this: JQuery): void;
125
+
126
+ // endregion
127
+
128
+ // region DOM Settings
129
+
130
+ /**
131
+ * DOM Selectors used internally.
132
+ * Selectors used to find parts of a module.
133
+ */
134
+ selector: Accordion.SelectorSettings;
135
+
136
+ /**
137
+ * Class names used to determine element state.
138
+ */
139
+ className: Accordion.ClassNameSettings;
140
+
141
+ // endregion
142
+
143
+ // region Debug Settings
144
+
145
+ /**
146
+ * Name used in log statements
147
+ * @default 'Accordion'
148
+ */
149
+ name: string;
150
+
151
+ /**
152
+ * Event namespace. Makes sure module teardown does not effect other events attached to an element.
153
+ * @default 'accordion'
154
+ */
155
+ namespace: string;
156
+
157
+ /**
158
+ * Silences all console output including error messages, regardless of other debug settings.
159
+ * @default false
160
+ */
161
+ silent: boolean;
162
+
163
+ /**
164
+ * Debug output to console
165
+ * @default false
166
+ */
167
+ debug: boolean;
168
+
169
+ /**
170
+ * Show console.table output with performance metrics
171
+ * @default true
172
+ */
173
+ performance: boolean;
174
+
175
+ /**
176
+ * Debug output includes all internal behaviors
177
+ * @default false
178
+ */
179
+ verbose: boolean;
180
+
181
+ error: Accordion.ErrorSettings;
182
+
183
+ // endregion
184
+ }
185
+
186
+ namespace Accordion {
187
+ type SelectorSettings = Partial<Pick<Settings.Selectors, keyof Settings.Selectors>>;
188
+ type ClassNameSettings = Partial<Pick<Settings.ClassNames, keyof Settings.ClassNames>>;
189
+ type ErrorSettings = Partial<Pick<Settings.Errors, keyof Settings.Errors>>;
190
+
191
+ namespace Settings {
192
+ interface Selectors {
193
+ /**
194
+ * @default '.accordion'
195
+ */
196
+ accordion: string;
197
+
198
+ /**
199
+ * @default '.title'
200
+ */
201
+ title: string;
202
+
203
+ /**
204
+ * @default '.title'
205
+ */
206
+ trigger: string;
207
+
208
+ /**
209
+ * @default '.ui.dropdown'
210
+ */
211
+ ignore: string;
212
+
213
+ /**
214
+ * @default '.content'
215
+ */
216
+ content: string;
217
+ }
218
+
219
+ interface ClassNames {
220
+ /**
221
+ * @default 'active'
222
+ */
223
+ active: string;
224
+
225
+ /**
226
+ * @default 'animating'
227
+ */
228
+ animating: string;
229
+
230
+ /**
231
+ * @default 'transition'
232
+ */
233
+ transition: string;
234
+ }
235
+
236
+ interface Errors {
237
+ /**
238
+ * @default 'The method you called is not defined.'
239
+ */
240
+ method: string;
241
+ }
242
+ }
243
+ }
244
+ }