// Import all Spark components
import { hugeInput } from './base/inputs/hugeInput';
import { ssnInput } from './base/inputs/ssnInput';
import passwordInput from './base/inputs/passwordInput';
import { monetaryInput } from './base/inputs/monetaryInput';
import { phoneInput } from './base/inputs/phoneInput';
import { dateInput } from './base/inputs/dateInput';
import { datePicker } from './base/inputs/datePicker';
import { modals } from './components/modals';
import { requiredTextInput } from './base/inputs/requiredTextInput';
import { requiredTick } from './base/inputs/requiredTick';
import { requiredSelect } from './base/inputs/requiredSelect';
import { pagination } from './components/pagination';
import { tabs } from './components/tabs';
import { toggle } from './components/toggle';
import { tooltip } from './components/tooltip';
import { spinners } from './components/spinners';
import { masthead } from './components/masthead';
import { alerts } from './components/alerts';
import { dropdowns } from './components/dropdown';
import { stepper } from './components/stepper';
import { highlightBoard } from './components/highlight-board';
import versionCheck from './utilities/versionCheck';
import { checkbox } from './base/inputs/checkbox';
import { radioInput } from './base/inputs/radioInput';

const Spark = ({ datePickerConfig = {} } = {}) => {
  requiredSelect();
  requiredTick();
  requiredTextInput();
  ssnInput();
  passwordInput();
  monetaryInput();
  phoneInput();
  dateInput();
  datePicker(datePickerConfig);
  modals();
  pagination();
  tabs();
  toggle();
  tooltip();
  spinners();
  masthead();
  alerts();
  dropdowns();
  stepper();
  highlightBoard();
  hugeInput();
  versionCheck();
  checkbox();
  radioInput();
};

export { Spark as default };

// Import all Spark components
import { hugeInput } from './base/inputs/hugeInput';
import { ssnInput } from './base/inputs/ssnInput';
import passwordInput from './base/inputs/passwordInput';
import { monetaryInput } from './base/inputs/monetaryInput';
import { phoneInput } from './base/inputs/phoneInput';
import { dateInput } from './base/inputs/dateInput';
import { datePicker } from './base/inputs/datePicker';
import { modals } from './components/modals';
import { requiredTextInput } from './base/inputs/requiredTextInput';
import { requiredTick } from './base/inputs/requiredTick';
import { requiredSelect } from './base/inputs/requiredSelect';
import { pagination } from './components/pagination';
import { tabs } from './components/tabs';
import { toggle } from './components/toggle';
import { tooltip } from './components/tooltip';
import { spinners } from './components/spinners';
import { masthead } from './components/masthead';
import { alerts } from './components/alerts';
import { dropdowns } from './components/dropdown';
import { stepper } from './components/stepper';
import { highlightBoard } from './components/highlight-board';
import versionCheck from './utilities/versionCheck';
import { checkbox } from './base/inputs/checkbox';
import { radioInput } from './base/inputs/radioInput';
import { autocomplete } from './components/autocomplete';

const Spark = ({ datePickerConfig = {} } = {}) => {
  requiredSelect();
  requiredTick();
  requiredTextInput();
  ssnInput();
  passwordInput();
  monetaryInput();
  phoneInput();
  dateInput();
  datePicker(datePickerConfig);
  modals();
  pagination();
  tabs();
  toggle();
  tooltip();
  spinners();
  masthead();
  alerts();
  dropdowns();
  stepper();
  highlightBoard();
  hugeInput();
  versionCheck();
  checkbox();
  radioInput();
  autocomplete();
};

export { Spark as default };

add autocomplete to html js package