Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
Size: Mime:
"use strict";

var __rest = this && this.__rest || function (s, e) {
  var t = {};

  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];

  if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
  return t;
};

var __importDefault = this && this.__importDefault || function (mod) {
  return mod && mod.__esModule ? mod : {
    "default": mod
  };
};

Object.defineProperty(exports, "__esModule", {
  value: true
});

const react_1 = __importDefault(require("react"));

const classnames_1 = __importDefault(require("classnames"));

const Button_1 = require("../../atoms/Button");
/**
 * https://bitbucket.org/skava-admin/skreact/commits/c756fee64c789215d21f30f23e6e9a67ecd94ba4
 * ^ side effects of scoping this to a global tag when it wasn't needed
 */


const ButtonAdapter = props => {
  const {
    isActive,
    isDisabled,
    className
  } = props,
        remaining = __rest(props, ["isActive", "isDisabled", "className"]);

  const computedClassName = classnames_1.default({
    className,
    title: true,
    down: isActive,
    disable: isDisabled
  });
  return react_1.default.createElement(Button_1.Button, Object.assign({
    className: computedClassName
  }, remaining));
};

const StyledTitleButton = styled.withComponent(ButtonAdapter)`
  @font (13, semi);
  cursor: pointer;
  color: $colors-black;
  text-transform: uppercase;
  margin-bottom: 0;
  padding: $spacing;
  display: flex;
  align-items: center;
  width: 100%;
`;
exports.StyledTitleButton = StyledTitleButton;
const collapse = styled.mixin`
  .collapse,
  .collapsing {
    transition: max-height 0.6s;
    overflow: hidden;

    .inner {
      background-color: $colors-white;
      color: $colors-body-text;
      padding: $spacing;
    }

    .title {
      color: $colors-secondary;
      text-transform: uppercase;
      font-weight: bold;
      margin: 0;
    }

    &.hide {
      /* display: none; */
    }
  }

  &.closed {
    .collapse {
      max-height: 0 !important;
      /* pointer-events: none; */
    }
  }

  .collapse {
    /* display: none; */

    /* max-height: 0; */
    /* overflow: hidden; */

    &.show {
      pointer-events: all;
      /* display: block; */
      /* overflow: auto; */

      /* @james @fixme @todo */
      /* max-height: 1000px; */
    }
  }
`;
const merged = styled.todo`
  border-top: $border-thin;

  ${collapse};
`;
const AccordionContainer = styled.div.attrs({
  className: props => props.classList
})`
  opacity: ${props => props.isDisabled ? '0.5' : '1'};
  display: flex;
  flex-direction: column;
`;
exports.AccordionContainer = AccordionContainer;
const StyledAccordionWrap = styled.div.attrs({
  className: props => {
    const {
      isDisabled,
      isActive,
      className
    } = props;
    const config = {
      'accordion-block': true,
      'open': isActive,
      'closed': !isActive
    };
    const boxClassName = classnames_1.default(config, className);
    return boxClassName;
  }
})`
  &.open .arrow {
    transform: rotate(-180deg);
  }
  &.show .arrow {
    transform: rotate(180deg);
  }
`;
exports.StyledAccordionWrap = StyledAccordionWrap;
const ArrowWrap = styled.span.className('arrow')`
  margin-left: auto;
`;
exports.ArrowWrap = ArrowWrap;
const Title = styled.span.className('text').attrs({
  role: 'heading'
})`
  background: $colors-white;
`;
exports.Title = Title;

const Box = props => react_1.default.createElement("div", Object.assign({
  className: "inner"
}, props));

exports.Box = Box;
exports.default = AccordionContainer; //# sourceMappingURL=_elements.js.map