graphen 1.10.1 → 1.10.3

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "graphen",
3
- "version": "1.10.1",
3
+ "version": "1.10.3",
4
4
  "description": "Graphen is a small library, that keeps reusable blocks of UI and helps making application design consistent across multiple projects.",
5
5
  "main": "src/index.ts",
6
6
  "files": [
@@ -4,7 +4,7 @@ import classNames from "classnames";
4
4
 
5
5
  type Props = {
6
6
  initValue: Readonly<{ value: string, label: string }>,
7
- label: string,
7
+ label?: string,
8
8
  items: ReadonlyArray<{ value: string, label: string }>,
9
9
  onChange: (arg0: string) => void,
10
10
  };
@@ -24,16 +24,17 @@ function Dropdown(props: Props) {
24
24
  },
25
25
  [setIsExpanded, setSelectedItem, items]
26
26
  );
27
+ const buttonClasses = `gc-dropdown__btn ${label ? 'gc-dropdown__btn--with-label' : ''}`;
27
28
 
28
29
  return (
29
30
  <div className="gc-dropdown">
30
- <label className="gc-dropdown__label" htmlFor="gc-dropdown__label">
31
+ {label && (<label className="gc-dropdown__label" htmlFor="gc-dropdown__label">
31
32
  {label}
32
- </label>
33
+ </label>)}
33
34
  <div className="gc-dropdown__menu">
34
35
  <button
35
36
  type="button"
36
- className="gc-dropdown__btn"
37
+ className={buttonClasses}
37
38
  data-cy="dropdown-button"
38
39
  onClick={expandMenu}
39
40
  >
@@ -69,4 +70,9 @@ function Dropdown(props: Props) {
69
70
  );
70
71
  }
71
72
 
73
+ // @ts-ignore
74
+ Dropdown.defaultProps = {
75
+ label: undefined,
76
+ };
77
+
72
78
  export default Dropdown;
@@ -2,6 +2,7 @@ describe("dropdown menu", () => {
2
2
  it("should open dropdown and pick a value", () => {
3
3
  cy.visit("localhost:3000");
4
4
  cy.get("[data-cy=dropdown-button]")
5
+ .first()
5
6
  .click()
6
7
  .get("[data-cy=dropdown-item]")
7
8
  .contains("Red")
@@ -10,6 +11,7 @@ describe("dropdown menu", () => {
10
11
  .should("contain", "Red");
11
12
 
12
13
  cy.get("[data-cy=dropdown-button]")
14
+ .first()
13
15
  .click()
14
16
  .get("[data-cy=dropdown-item]")
15
17
  .contains("Blue")
package/src/example.tsx CHANGED
@@ -613,15 +613,27 @@ class ExampleApp extends React.PureComponent<Props, State> {
613
613
  <article className="gc-panel gc-panel--separator">
614
614
  <header className="gc-panel__title">Dropdown Menu</header>
615
615
  <div className="gc-panel__content">
616
- <Dropdown
617
- initValue={{ label: "-Select Value-", value: "selectValue" }}
618
- label="Dropdown label"
619
- items={[
620
- { label: "Red", value: "red" },
621
- { label: "Blue", value: "blue" },
622
- ]}
623
- onChange={_.noop}
624
- />
616
+ <p>
617
+ <Dropdown
618
+ initValue={{ label: "-Select Value-", value: "selectValue" }}
619
+ label="Dropdown label"
620
+ items={[
621
+ { label: "Red", value: "red" },
622
+ { label: "Blue", value: "blue" },
623
+ ]}
624
+ onChange={_.noop}
625
+ />
626
+ </p>
627
+ <p>
628
+ <Dropdown
629
+ initValue={{ label: "-Select Value-", value: "selectValue" }}
630
+ items={[
631
+ { label: "Red", value: "red" },
632
+ { label: "Blue", value: "blue" },
633
+ ]}
634
+ onChange={_.noop}
635
+ />
636
+ </p>
625
637
  </div>
626
638
  </article>
627
639
  </>