diff --git a/types/semantic-ui-dropdown/global.d.ts b/types/semantic-ui-dropdown/global.d.ts new file mode 100644 index 0000000000..12425cbace --- /dev/null +++ b/types/semantic-ui-dropdown/global.d.ts @@ -0,0 +1,852 @@ +interface JQuery { + dropdown: SemanticUI.Dropdown; +} + +declare namespace SemanticUI { + // TODO: Should 'value'/'values' parameters be of type 'string' instead of 'any'? + + interface Dropdown { + settings: DropdownSettings; + + /** + * Recreates dropdown menu from select option values. + */ + (behavior: 'setup menu'): JQuery; + /** + * Refreshes all cached selectors and data + */ + (behavior: 'refresh'): JQuery; + /** + * Toggles current visibility of dropdown + */ + (behavior: 'toggle'): JQuery; + /** + * Shows dropdown + */ + (behavior: 'show'): JQuery; + /** + * Hides dropdown + */ + (behavior: 'hide'): JQuery; + /** + * Clears dropdown of selection + */ + (behavior: 'clear'): JQuery; + /** + * Hides all other dropdowns that is not current dropdown + */ + (behavior: 'hide others'): JQuery; + /** + * Restores dropdown text and value to its value on page load + */ + (behavior: 'restore defaults'): JQuery; + /** + * Restores dropdown text to its value on page load + */ + (behavior: 'restore default text'): JQuery; + /** + * Restores dropdown text to its prompt, placeholder text + */ + (behavior: 'restore placeholder text'): JQuery; + /** + * Restores dropdown value to its value on page load + */ + (behavior: 'restore default value'): JQuery; + /** + * Saves current text and value as new defaults (for use with restore) + */ + (behavior: 'save defaults'): JQuery; + /** + * Sets value as selected + */ + (behavior: 'set selected', value: any): JQuery; + /** + * Remove value from selected + */ + (behavior: 'remove selected', value: any): JQuery; + /** + * Adds a group of values as selected + */ + (behavior: 'set selected', values: any[]): JQuery; + /** + * Sets selected values to exactly specified values, removing current selection + */ + (behavior: 'set exactly', values: any[]): JQuery; + /** + * Sets dropdown text to a value + */ + (behavior: 'set text', text: string): JQuery; + /** + * Sets dropdown input to value (does not update display state) + */ + (behavior: 'set value', value: any): JQuery; + /** + * Returns current dropdown text + */ + (behavior: 'get text'): string; + /** + * Returns current dropdown input value + */ + (behavior: 'get value'): any; + /** + * Returns DOM element that matches a given input value + */ + (behavior: 'get item', value: any): JQuery; + /** + * Adds touch events to element + */ + (behavior: 'bind touch events'): JQuery; + /** + * Adds mouse events to element + */ + (behavior: 'bind mouse events'): JQuery; + /** + * Binds a click to document to determine if you click away from a dropdown + */ + (behavior: 'bind intent'): JQuery; + /** + * Unbinds document intent click + */ + (behavior: 'unbind intent'): JQuery; + /** + * Returns whether event occurred inside dropdown + */ + (behavior: 'determine intent'): boolean; + /** + * Triggers preset item selection action based on settings passing text/value + */ + (behavior: 'determine select action', text: string, value: any): JQuery; + /** + * Sets dropdown to active state + */ + (behavior: 'set active'): JQuery; + /** + * Sets dropdown to visible state + */ + (behavior: 'set visible'): JQuery; + /** + * Removes dropdown active state + */ + (behavior: 'remove active'): JQuery; + /** + * Removes dropdown visible state + */ + (behavior: 'remove visible'): JQuery; + /** + * Returns whether dropdown is a selection dropdown + */ + (behavior: 'is selection'): boolean; + /** + * Returns whether dropdown is animated + */ + (behavior: 'is animated'): boolean; + /** + * Returns whether dropdown is visible + */ + (behavior: 'is visible'): boolean; + /** + * Returns whether dropdown is hidden + */ + (behavior: 'is hidden'): boolean; + /** + * Returns dropdown value as set on page load + */ + (behavior: 'get default text'): string; + /** + * Returns placeholder text + */ + (behavior: 'get placeholder text'): string; + (behavior: 'destroy'): JQuery; + (behavior: 'setting', name: K, value?: undefined): DropdownSettings[K]; + (behavior: 'setting', name: K, value: DropdownSettings[K]): JQuery; + (behavior: 'setting', value: DropdownSettings.Param): JQuery; + (settings?: DropdownSettings.Param): JQuery; + } + + /** + * @see {@link http://semantic-ui.com/modules/dropdown.html#/settings} + */ + interface DropdownSettings extends Pick { } + + namespace DropdownSettings { + type Param = DropdownSettings | object; + + interface _Impl { + // region Frequently Used Settings + + /** + * Event used to trigger dropdown (Hover, Click, Custom Event) + * + * @default 'click' + */ + on: string; + /** + * When set to true will fire onChange even when the value a user select matches the currently selected value. + * + * @default false + */ + allowReselection: boolean; + /** + * Whether search selection should allow users to add their own selections, works for single or multi-select. + * + * @default false + */ + allowAdditions: boolean; + /** + * When disabled user additions will appear in the results menu using a specially formatted selection item formatted by templates.addition. + * + * @default true + */ + hideAdditions: boolean; + /** + * Sets a default action to occur. (See usage guide) + * + * @default 'activate' + * @see {@link http://semantic-ui.com/modules/dropdown.html#/usage} + */ + action: 'activate' | 'select' | 'combo' | 'nothing' | 'hide' | ((this: JQuery, text: string, value: string | false, element: JQuery) => void); + /** + * The minimum characters for a search to begin showing results + * + * @default 1 + */ + minCharacters: number; + /** + * When using search selection specifies how to match values. + * + * @default 'both' + */ + match: 'both' | 'value' | 'text'; + /** + * Whether dropdown should select new option when using keyboard shortcuts. Setting to false will require enter or left click to confirm a choice. + * + * @default true + */ + selectOnKeydown: boolean; + /** + * Whether search selection will force currently selected choice when element is blurred. + * + * @default true + */ + forceSelection: boolean; + /** + * Whether menu items with sub-menus (categories) should be selectable + * + * @default false + */ + allowCategorySelection: boolean; + /** + * @default 'auto' + */ + placeholder: 'auto' | 'value' | false; + + // endregion + + // region Remote Settings + + /** + * Can be set to an object to specify API settings for retrieving remote selection menu content from an API endpoint + * + * @default false + * @see {@link http://semantic-ui.com/behaviors/api.html} + */ + apiSettings: false | ApiSettings; + /** + * List mapping dropdown content to JSON Property when using API + */ + fields: Dropdown.FieldsSettings; + /** + * When enabled will automatically store selected name/value pairs in sessionStorage to preserve user selection on page refresh. Disabling will clear remote dropdown values on refresh. + * + * @default true + */ + saveRemoteData: boolean; + /** + * When set to true API will be expected to return the complete result set, which will then be filtered clientside to only display matching results. + * + * @default false + * @since 2.2.8 + */ + filterRemoteData: boolean; + + // endregion + + // region Multiple Select Settings + + /** + * Whether multiselect should use labels. Must be set to true when allowAdditions is true + * + * @default true + */ + useLabels: boolean; + /** + * When set to a number, sets the maximum number of selections + * + * @default false + */ + maxSelections: false | number; + /** + * Maximum glyph width, used to calculate search size. This is usually size of a "W" in your font in em + * + * @default 1.0714 + */ + glyphWidth: number; + /** + * Allows customization of multi-select labels + */ + label: Dropdown.LabelSettings; + + // endregion + + // region Additional Settings + + /** + * When set to auto determines direction based on whether dropdown can fit on screen. Set to upward or downward to always force a direction. + * + * @default 'auto' + */ + direction: 'auto' | 'upward' | 'downward'; + /** + * Whether dropdown should try to keep itself on screen by checking whether menus display position in its context (Default context is page). + * + * @default true + */ + keepOnScreen: boolean; + /** + * Element context to use when checking whether can show when keepOnScreen: true + * + * @default 'window' + */ + context: string | JQuery; + /** + * Specifying to "true" will use a fuzzy full text search, setting to "exact" will force the exact search to be matched somewhere in the string + * + * @default false + */ + fullTextSearch: boolean | 'exact'; + /** + * Whether HTML included in dropdown values should be preserved. (Allows icons to show up in selected value) + * + * @default true + */ + preserveHTML: boolean; + /** + * Whether to sort values when creating a dropdown automatically from a select element. + * + * @default false + */ + sortSelect: boolean; + /** + * Whether to show dropdown menu automatically on element focus. + * + * @default true + */ + showOnFocus: boolean; + /** + * Whether to allow the element to be navigable by keyboard, by automatically creating a tabindex + * + * @default true + */ + allowTab: boolean; + /** + * Named transition to use when animating menu in and out. + * Defaults to slide down or slide up depending on dropdown direction. + * Fade and slide down are available without including ui transitions + * + * @default 'auto' + * @see {@link http://semantic-ui.com/modules/transition.html} + */ + transition: 'auto' | string; + /** + * Duration of animation events + * + * @default 200 + */ + duration: number; + /** + * The keycode used to represent keyboard shortcuts. To avoid issues with some foreign languages, you can pass false for comma delimiter's value + */ + keys: Dropdown.KeySettings; + /** + * Time in milliseconds to debounce show or hide behavior when on: hover is used, or when touch is used. + */ + delay: Dropdown.DelaySettings; + + // endregion + + // region Callbacks + + /** + * Is called after a dropdown value changes. Receives the name and value of selection and the active menu element + */ + onChange(this: JQuery, value: any, text: string, $choice: JQuery): void; + /** + * Is called after a dropdown selection is added using a multiple select dropdown, only receives the added value + */ + onAdd(this: JQuery, addedValue: any, addedText: string, $addedChoice: JQuery): void; + /** + * Is called after a dropdown selection is removed using a multiple select dropdown, only receives the removed value + */ + onRemove(this: JQuery, removedValue: any, removedText: string, $removedChoice: JQuery): void; + /** + * Allows you to modify a label before it is added. Expects the jQ DOM element for a label to be returned. + */ + onLabelCreate(this: JQuery, value: any, text: string): JQuery; + /** + * Called when a label is remove, return false; will prevent the label from being removed. + */ + onLabelRemove(this: JQuery, value: any): false | void; + /** + * Is called after a label is selected by a user + */ + onLabelSelect(this: JQuery, $selectedLabels: JQuery): void; + /** + * Is called after a dropdown is searched with no matching values + */ + onNoResults(this: JQuery, searchValue: any): void; + /** + * Is called before a dropdown is shown. If false is returned, dropdown will not be shown. + */ + onShow(this: JQuery): false | void; + /** + * Is called before a dropdown is hidden. If false is returned, dropdown will not be hidden. + */ + onHide(this: JQuery): false | void; + + // endregion + + // region DOM Settings + + /** + * You can specify site wide messages by modifying $.fn.dropdown.settings.message that will apply on any dropdown if it appears in the page. + */ + message: Dropdown.MessageSettings; + selector: Dropdown.SelectorSettings; + regExp: Dropdown.RegExpSettings; + metadata: Dropdown.MetadataSettings; + className: Dropdown.ClassNameSettings; + + // endregion + + // region Debug Settings + + error: Dropdown.ErrorSettings; + + // endregion + + // region Component Settings + + // region DOM Settings + + /** + * Event namespace. Makes sure module teardown does not effect other events attached to an element. + */ + namespace: string; + + // endregion + + // region Debug Settings + + /** + * Name used in log statements + */ + name: string; + /** + * Silences all console output including error messages, regardless of other debug settings. + */ + silent: boolean; + /** + * Debug output to console + */ + debug: boolean; + /** + * Show console.table output with performance metrics + */ + performance: boolean; + /** + * Debug output includes all internal behaviors + */ + verbose: boolean; + + // endregion + + // endregion + } + } + + namespace Dropdown { + interface FieldsSettings extends Pick { } + + namespace FieldsSettings { + type Param = FieldsSettings | object; + + interface _Impl { + /** + * grouping for api results + * + * @default 'results' + */ + remoteValues: string; + /** + * grouping for all dropdown values + * + * @default 'values' + */ + values: string; + /** + * displayed dropdown text + * + * @default 'name' + */ + name: string; + /** + * actual dropdown value + * + * @default 'value' + */ + value: string; + } + } + + interface LabelSettings extends Pick { } + + namespace LabelSettings { + type Param = LabelSettings | object; + + interface _Impl { + /** + * @default 'horizontal flip' + */ + transition: string; + /** + * @default 200 + */ + duration: number; + /** + * @default false + */ + variation: false | string; + } + } + + interface KeySettings extends Pick { } + + namespace KeySettings { + type Param = KeySettings | object; + + interface _Impl { + /** + * @default 8 + */ + backspace: number; + /** + * @default 188 + */ + delimiter: number | false; + /** + * @default 46 + */ + deleteKey: number; + /** + * @default 13 + */ + enter: number; + /** + * @default 27 + */ + escape: number; + /** + * @default 33 + */ + pageUp: number; + /** + * @default 34 + */ + pageDown: number; + /** + * @default 37 + */ + leftArrow: number; + /** + * @default 38 + */ + upArrow: number; + /** + * @default 39 + */ + rightArrow: number; + /** + * @default 40 + */ + downArrow: number; + } + } + + interface DelaySettings extends Pick { } + + namespace DelaySettings { + type Param = DelaySettings | object; + + interface _Impl { + /** + * @default 300 + */ + hide: number; + /** + * @default 200 + */ + show: number; + /** + * @default 50 + */ + search: number; + /** + * @default 50 + */ + touch: number; + } + } + + interface MessageSettings extends Pick { } + + namespace MessageSettings { + type Param = MessageSettings | object; + + interface _Impl { + /** + * @default 'Add {term}' + */ + addResult: string; + /** + * @default '{count} selected' + */ + count: string; + /** + * @default 'Max {maxCount} selections' + */ + maxSelections: string; + /** + * 'No results found.' + */ + noResults: string; + } + } + + interface SelectorSettings extends Pick { } + + namespace SelectorSettings { + type Param = SelectorSettings | object; + + interface _Impl { + /** + * @default '.addition' + */ + addition: string; + /** + * @default '.ui.dropdown' + */ + dropdown: string; + /** + * @default '> .dropdown.icon' + */ + icon: string; + /** + * @default '> input[type="hidden"], > select' + */ + input: string; + /** + * @default '.item' + */ + item: string; + /** + * @default '> .label' + */ + label: string; + /** + * @default '> .label > .delete.icon' + */ + remove: string; + /** + * @default '.label' + */ + siblingLabel: string; + /** + * @default '.menu' + */ + menu: string; + /** + * @default '.message' + */ + message: string; + /** + * @default '.dropdown.icon' + */ + menuIcon: string; + /** + * @default 'input.search, .menu > .search > input' + */ + search: string; + /** + * @default '> .text:not(.icon)' + */ + text: string; + } + } + + interface RegExpSettings extends Pick { } + + namespace RegExpSettings { + type Param = RegExpSettings | object; + + interface _Impl { + /** + * @default /[-[\]{}()*+?.,\\^$|#\s]/g + */ + escape: RegExp; + } + } + + interface MetadataSettings extends Pick { } + + namespace MetadataSettings { + type Param = MetadataSettings | object; + + interface _Impl { + /** + * @default 'defaultText' + */ + defaultText: string; + /** + * @default 'defaultValue' + */ + defaultValue: string; + /** + * @default 'placeholderText' + */ + placeholderText: string; + /** + * @default 'text' + */ + text: string; + /** + * @default 'value' + */ + value: string; + } + } + + interface ClassNameSettings extends Pick { } + + namespace ClassNameSettings { + type Param = ClassNameSettings | object; + + interface _Impl { + /** + * @default 'active' + */ + active: string; + /** + * @default 'addition' + */ + addition: string; + /** + * @default 'animating' + */ + animating: string; + /** + * @default 'disabled' + */ + disabled: string; + /** + * @default 'ui dropdown' + */ + dropdown: string; + /** + * @default 'filtered' + */ + filtered: string; + /** + * @default 'hidden transition' + */ + hidden: string; + /** + * @default 'item' + */ + item: string; + /** + * @default 'ui label' + */ + label: string; + /** + * @default 'loading' + */ + loading: string; + /** + * @default 'menu' + */ + menu: string; + /** + * @default 'message' + */ + message: string; + /** + * @default 'multiple' + */ + multiple: string; + /** + * @default 'default' + */ + placeholder: string; + /** + * @default 'search' + */ + search: string; + /** + * @default 'selected' + */ + selected: string; + /** + * @default 'selection' + */ + selection: string; + /** + * @default 'upward' + */ + upward: string; + /** + * @default 'visible' + */ + visible: string; + } + } + + interface ErrorSettings extends Pick { } + + namespace ErrorSettings { + type Param = ErrorSettings | object; + + interface _Impl { + /** + * @default 'You called a dropdown action that was not defined' + */ + action: string; + /** + * @default 'Once a select has been initialized behaviors must be called on the created ui dropdown' + */ + alreadySetup: string; + /** + * @default 'Allowing user additions currently requires the use of labels.' + */ + labels: string; + /** + * @default 'The method you called is not defined.' + */ + method: string; + /** + * @default 'This module requires ui transitions ' + */ + noTransition: string; + } + } + } +} diff --git a/types/semantic-ui-dropdown/index.d.ts b/types/semantic-ui-dropdown/index.d.ts new file mode 100644 index 0000000000..7aad50ddbb --- /dev/null +++ b/types/semantic-ui-dropdown/index.d.ts @@ -0,0 +1,12 @@ +// Type definitions for semantic-ui-dropdown 2.2 +// Project: http://www.semantic-ui.com +// Definitions by: Leonard Thieu +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped +// TypeScript Version: 2.2 + +/// +/// +/// + +declare const dropdown: SemanticUI.Dropdown; +export = dropdown; diff --git a/types/semantic-ui-dropdown/semantic-ui-dropdown-tests.ts b/types/semantic-ui-dropdown/semantic-ui-dropdown-tests.ts new file mode 100644 index 0000000000..2dafbf9c8e --- /dev/null +++ b/types/semantic-ui-dropdown/semantic-ui-dropdown-tests.ts @@ -0,0 +1,208 @@ +function test_dropdown_static() { + $.fn.dropdown.settings.error.method = 'method'; + $.fn.dropdown.settings.namespace = 'namespace'; + $.fn.dropdown.settings.name = 'name'; + $.fn.dropdown.settings.silent = false; + $.fn.dropdown.settings.debug = true; + $.fn.dropdown.settings.performance = true; + $.fn.dropdown.settings.verbose = true; +} + +function test_dropdown() { + const selector = '.ui.dropdown'; + $(selector).dropdown('setup menu') === $(); + $(selector).dropdown('refresh') === $(); + $(selector).dropdown('toggle') === $(); + $(selector).dropdown('show') === $(); + $(selector).dropdown('hide') === $(); + $(selector).dropdown('clear') === $(); + $(selector).dropdown('hide others') === $(); + $(selector).dropdown('restore defaults') === $(); + $(selector).dropdown('restore default text') === $(); + $(selector).dropdown('restore placeholder text') === $(); + $(selector).dropdown('restore default value') === $(); + $(selector).dropdown('save defaults') === $(); + $(selector).dropdown('set selected', 123) === $(); + $(selector).dropdown('remove selected', false) === $(); + $(selector).dropdown('set selected', ['456']) === $(); + $(selector).dropdown('set exactly', []) === $(); + $(selector).dropdown('set text', 'hello') === $(); + $(selector).dropdown('set value', 24) === $(); + $(selector).dropdown('get text') === 'text'; + $(selector).dropdown('get value') === {}; + $(selector).dropdown('get item', 'Pennsylvania') === $(); + $(selector).dropdown('bind touch events') === $(); + $(selector).dropdown('bind mouse events') === $(); + $(selector).dropdown('bind intent') === $(); + $(selector).dropdown('unbind intent') === $(); + $(selector).dropdown('determine intent') === true; + $(selector).dropdown('determine select action', 'text', 90) === $(); + $(selector).dropdown('set active') === $(); + $(selector).dropdown('set visible') === $(); + $(selector).dropdown('remove active') === $(); + $(selector).dropdown('remove visible') === $(); + $(selector).dropdown('is selection') === false; + $(selector).dropdown('is animated') === false; + $(selector).dropdown('is visible') === false; + $(selector).dropdown('is hidden') === false; + $(selector).dropdown('get default text') === 'default text'; + $(selector).dropdown('get placeholder text') === 'placeholder text'; + $(selector).dropdown('destroy') === $(); + $(selector).dropdown('setting', 'debug', undefined) === false; + $(selector).dropdown('setting', 'debug') === false; + $(selector).dropdown('setting', 'debug', true) === $(); + $(selector).dropdown('setting', { + namespace: 'namespace', + name: 'name', + silent: false, + debug: true, + performance: true, + verbose: true + }) === $(); + $(selector).dropdown({ + on: 'hover', + allowReselection: true, + allowAdditions: false, + hideAdditions: true, + action(text, value, element) { + this === $(); + text === 'text'; + if (typeof value !== 'string') { + value === false; + } + element === $(); + }, + minCharacters: 2, + match: 'text', + selectOnKeydown: false, + forceSelection: true, + allowCategorySelection: false, + placeholder: 'value', + apiSettings: { + cache: 'local', + throttleFirstRequest: true, + loadingDuration: 20 + }, + fields: { + remoteValues: 'remoteValues', + values: 'values', + name: 'name', + value: 'value' + }, + saveRemoteData: true, + filterRemoteData: false, + useLabels: true, + maxSelections: 20, + glyphWidth: 14, + label: { + transition: 'horizontal flip', + duration: 200, + variation: 'basic' + }, + direction: 'downward', + keepOnScreen: false, + context: 'body', + fullTextSearch: 'exact', + preserveHTML: true, + sortSelect: false, + showOnFocus: true, + allowTab: false, + transition: 'auto', + duration: 500, + keys: { + backspace: 8, + delimiter: false, + deleteKey: 46, + enter: 13, + escape: 27, + pageUp: 33, + pageDown: 34, + leftArrow: 37, + upArrow: 38, + rightArrow: 30, + downArrow: 40 + }, + delay: { + hide: 300, + show: 200, + search: 50, + touch: 50 + }, + onChange(value, text, $choice) { + value === {}; + text === 'text'; + $choice === $(); + }, + onAdd(addedValue, addedText, $addedChoice) { + addedValue === {}; + addedText === 'addedText'; + $addedChoice === $(); + }, + message: { + addResult: 'addResult', + count: 'count', + maxSelections: 'maxSelections', + noResults: 'noResults', + }, + selector: { + addition: 'addition', + dropdown: 'dropdown', + icon: 'icon', + input: 'input', + item: 'item', + label: 'label', + remove: 'remove', + siblingLabel: 'siblingLabel', + menu: 'menu', + message: 'message', + menuIcon: 'menuIcon', + search: 'search', + text: 'text', + }, + regExp: { + escape: /[-[\]{}()*+?.,\\^$|#\s]/g + }, + metadata: { + defaultText: 'defaultText', + defaultValue: 'defaultValue', + placeholderText: 'placeholderText', + text: 'text', + value: 'value', + }, + className: { + active: 'active', + addition: 'addition', + animating: 'animating', + disabled: 'disabled', + dropdown: 'dropdown', + filtered: 'filtered', + hidden: 'hidden', + item: 'item', + label: 'label', + loading: 'loading', + menu: 'menu', + message: 'message', + multiple: 'multiple', + placeholder: 'placeholder', + search: 'search', + selected: 'selected', + selection: 'selection', + upward: 'upward', + visible: 'visible', + }, + error: { + action: 'action', + alreadySetup: 'alreadySetup', + labels: 'labels', + method: 'method', + noTransition: 'noTransition' + } + }) === $(); + $(selector).dropdown() === $(); +} + +import dropdown = require('semantic-ui-dropdown'); + +function test_module() { + $.fn.dropdown = dropdown; +} diff --git a/types/semantic-ui-dropdown/tsconfig.json b/types/semantic-ui-dropdown/tsconfig.json new file mode 100644 index 0000000000..99682f13a2 --- /dev/null +++ b/types/semantic-ui-dropdown/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "module": "commonjs", + "lib": [ + "es6", + "dom" + ], + "noImplicitAny": true, + "noImplicitThis": true, + "strictNullChecks": true, + "baseUrl": "../", + "typeRoots": [ + "../" + ], + "types": [], + "noEmit": true, + "forceConsistentCasingInFileNames": true + }, + "files": [ + "index.d.ts", + "global.d.ts", + "semantic-ui-dropdown-tests.ts" + ] +} diff --git a/types/semantic-ui-dropdown/tslint.json b/types/semantic-ui-dropdown/tslint.json new file mode 100644 index 0000000000..758e484744 --- /dev/null +++ b/types/semantic-ui-dropdown/tslint.json @@ -0,0 +1,7 @@ +{ + "extends": "dtslint/dt.json", + "rules": { + "no-empty-interface": false, + "unified-signatures": false + } +}