Browse Source

feat(Switch): Implement

master
hristoterezov 7 years ago
parent
commit
ae7a882188

+ 286
- 3
package-lock.json View File

20
         "@atlaskit/analytics-next": "^3.0.6",
20
         "@atlaskit/analytics-next": "^3.0.6",
21
         "@atlaskit/theme": "^6.0.1",
21
         "@atlaskit/theme": "^6.0.1",
22
         "@atlaskit/tooltip": "^12.0.10"
22
         "@atlaskit/tooltip": "^12.0.10"
23
+      },
24
+      "dependencies": {
25
+        "@atlaskit/theme": {
26
+          "version": "6.0.3",
27
+          "resolved": "https://registry.npmjs.org/@atlaskit/theme/-/theme-6.0.3.tgz",
28
+          "integrity": "sha512-s90qPe3S0fXtf1xHxH4uhT2IIbvGkMWLp1HW66rv0c8VSBj0f5VaJW+xVs7BLii5rN1QnOtsYS3ykx307mZOJQ==",
29
+          "requires": {
30
+            "prop-types": "^15.5.10"
31
+          }
32
+        },
33
+        "@atlaskit/tooltip": {
34
+          "version": "12.1.0",
35
+          "resolved": "https://registry.npmjs.org/@atlaskit/tooltip/-/tooltip-12.1.0.tgz",
36
+          "integrity": "sha512-GrCLvEgfRaeCCwcfTAP+BKIK2/rGCWXshfbLEKnza+C3uEJW8VAn8NAob0R1h4WE1vjmdLTgTtFjek3rK1HgSw==",
37
+          "requires": {
38
+            "@atlaskit/analytics-next": "^3.0.6",
39
+            "@atlaskit/portal": "^0.0.9",
40
+            "@atlaskit/theme": "^6.0.2",
41
+            "babel-runtime": "^6.26.0",
42
+            "flushable": "^1.0.0",
43
+            "react-node-resolver": "^1.0.1",
44
+            "react-transition-group": "^2.2.1"
45
+          }
46
+        },
47
+        "react-transition-group": {
48
+          "version": "2.4.0",
49
+          "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.4.0.tgz",
50
+          "integrity": "sha512-Xv5d55NkJUxUzLCImGSanK8Cl/30sgpOEMGc5m86t8+kZwrPxPCPcFqyx83kkr+5Lz5gs6djuvE5By+gce+VjA==",
51
+          "requires": {
52
+            "dom-helpers": "^3.3.1",
53
+            "loose-envify": "^1.3.1",
54
+            "prop-types": "^15.6.2",
55
+            "react-lifecycles-compat": "^3.0.4"
56
+          },
57
+          "dependencies": {
58
+            "prop-types": {
59
+              "version": "15.6.2",
60
+              "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
61
+              "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
62
+              "requires": {
63
+                "loose-envify": "^1.3.1",
64
+                "object-assign": "^4.1.1"
65
+              }
66
+            }
67
+          }
68
+        }
23
       }
69
       }
24
     },
70
     },
25
     "@atlaskit/blanket": {
71
     "@atlaskit/blanket": {
40
         "@atlaskit/spinner": "9.0.8",
86
         "@atlaskit/spinner": "9.0.8",
41
         "@atlaskit/theme": "^6.0.2",
87
         "@atlaskit/theme": "^6.0.2",
42
         "babel-runtime": "^6.26.0"
88
         "babel-runtime": "^6.26.0"
89
+      },
90
+      "dependencies": {
91
+        "@atlaskit/spinner": {
92
+          "version": "9.0.8",
93
+          "resolved": "https://registry.npmjs.org/@atlaskit/spinner/-/spinner-9.0.8.tgz",
94
+          "integrity": "sha512-jYv8VSuXcvppONSquL7cmHQMR7WBS8VDB0kpWQPVJngrGfzG691kdW32C6q6A1bzNB88QpEIQxcme7bLlM5/hg==",
95
+          "requires": {
96
+            "@atlaskit/theme": "^6.0.2",
97
+            "babel-runtime": "^6.26.0",
98
+            "react-transition-group": "^2.2.1"
99
+          }
100
+        },
101
+        "@atlaskit/theme": {
102
+          "version": "6.0.3",
103
+          "resolved": "https://registry.npmjs.org/@atlaskit/theme/-/theme-6.0.3.tgz",
104
+          "integrity": "sha512-s90qPe3S0fXtf1xHxH4uhT2IIbvGkMWLp1HW66rv0c8VSBj0f5VaJW+xVs7BLii5rN1QnOtsYS3ykx307mZOJQ==",
105
+          "requires": {
106
+            "prop-types": "^15.5.10"
107
+          }
108
+        },
109
+        "react-transition-group": {
110
+          "version": "2.4.0",
111
+          "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.4.0.tgz",
112
+          "integrity": "sha512-Xv5d55NkJUxUzLCImGSanK8Cl/30sgpOEMGc5m86t8+kZwrPxPCPcFqyx83kkr+5Lz5gs6djuvE5By+gce+VjA==",
113
+          "requires": {
114
+            "dom-helpers": "^3.3.1",
115
+            "loose-envify": "^1.3.1",
116
+            "prop-types": "^15.6.2",
117
+            "react-lifecycles-compat": "^3.0.4"
118
+          },
119
+          "dependencies": {
120
+            "prop-types": {
121
+              "version": "15.6.2",
122
+              "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
123
+              "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
124
+              "requires": {
125
+                "loose-envify": "^1.3.1",
126
+                "object-assign": "^4.1.1"
127
+              }
128
+            }
129
+          }
130
+        }
43
       }
131
       }
44
     },
132
     },
45
     "@atlaskit/checkbox": {
133
     "@atlaskit/checkbox": {
52
         "@atlaskit/theme": "^6.0.2",
140
         "@atlaskit/theme": "^6.0.2",
53
         "babel-runtime": "^6.26.0",
141
         "babel-runtime": "^6.26.0",
54
         "prop-types": "^15.5.10"
142
         "prop-types": "^15.5.10"
143
+      },
144
+      "dependencies": {
145
+        "@atlaskit/theme": {
146
+          "version": "6.0.3",
147
+          "resolved": "https://registry.npmjs.org/@atlaskit/theme/-/theme-6.0.3.tgz",
148
+          "integrity": "sha512-s90qPe3S0fXtf1xHxH4uhT2IIbvGkMWLp1HW66rv0c8VSBj0f5VaJW+xVs7BLii5rN1QnOtsYS3ykx307mZOJQ==",
149
+          "requires": {
150
+            "prop-types": "^15.5.10"
151
+          }
152
+        }
55
       }
153
       }
56
     },
154
     },
57
     "@atlaskit/dropdown-menu": {
155
     "@atlaskit/dropdown-menu": {
68
         "array-find": "^1.0.0",
166
         "array-find": "^1.0.0",
69
         "prop-types": "^15.5.10",
167
         "prop-types": "^15.5.10",
70
         "uuid": "^3.1.0"
168
         "uuid": "^3.1.0"
169
+      },
170
+      "dependencies": {
171
+        "@atlaskit/theme": {
172
+          "version": "6.0.3",
173
+          "resolved": "https://registry.npmjs.org/@atlaskit/theme/-/theme-6.0.3.tgz",
174
+          "integrity": "sha512-s90qPe3S0fXtf1xHxH4uhT2IIbvGkMWLp1HW66rv0c8VSBj0f5VaJW+xVs7BLii5rN1QnOtsYS3ykx307mZOJQ==",
175
+          "requires": {
176
+            "prop-types": "^15.5.10"
177
+          }
178
+        }
71
       }
179
       }
72
     },
180
     },
73
     "@atlaskit/droplist": {
181
     "@atlaskit/droplist": {
86
         "classnames": "^2.2.5",
194
         "classnames": "^2.2.5",
87
         "keycode": "^2.1.7",
195
         "keycode": "^2.1.7",
88
         "prop-types": "^15.5.10"
196
         "prop-types": "^15.5.10"
197
+      },
198
+      "dependencies": {
199
+        "@atlaskit/spinner": {
200
+          "version": "9.0.9",
201
+          "resolved": "https://registry.npmjs.org/@atlaskit/spinner/-/spinner-9.0.9.tgz",
202
+          "integrity": "sha512-hoaed3P0sxV2VNdx1elo5SQZ5I4RYRlJTVEJ8NUt/BGrIYtJj3KIxbjgOYUQmKqZs5lWWYnRtHZTIyzZA4GqIg==",
203
+          "requires": {
204
+            "@atlaskit/theme": "^6.0.3",
205
+            "babel-runtime": "^6.26.0",
206
+            "react-transition-group": "^2.2.1"
207
+          }
208
+        },
209
+        "@atlaskit/theme": {
210
+          "version": "6.0.3",
211
+          "resolved": "https://registry.npmjs.org/@atlaskit/theme/-/theme-6.0.3.tgz",
212
+          "integrity": "sha512-s90qPe3S0fXtf1xHxH4uhT2IIbvGkMWLp1HW66rv0c8VSBj0f5VaJW+xVs7BLii5rN1QnOtsYS3ykx307mZOJQ==",
213
+          "requires": {
214
+            "prop-types": "^15.5.10"
215
+          }
216
+        },
217
+        "@atlaskit/tooltip": {
218
+          "version": "12.1.0",
219
+          "resolved": "https://registry.npmjs.org/@atlaskit/tooltip/-/tooltip-12.1.0.tgz",
220
+          "integrity": "sha512-GrCLvEgfRaeCCwcfTAP+BKIK2/rGCWXshfbLEKnza+C3uEJW8VAn8NAob0R1h4WE1vjmdLTgTtFjek3rK1HgSw==",
221
+          "requires": {
222
+            "@atlaskit/analytics-next": "^3.0.6",
223
+            "@atlaskit/portal": "^0.0.9",
224
+            "@atlaskit/theme": "^6.0.2",
225
+            "babel-runtime": "^6.26.0",
226
+            "flushable": "^1.0.0",
227
+            "react-node-resolver": "^1.0.1",
228
+            "react-transition-group": "^2.2.1"
229
+          }
230
+        },
231
+        "react-transition-group": {
232
+          "version": "2.4.0",
233
+          "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.4.0.tgz",
234
+          "integrity": "sha512-Xv5d55NkJUxUzLCImGSanK8Cl/30sgpOEMGc5m86t8+kZwrPxPCPcFqyx83kkr+5Lz5gs6djuvE5By+gce+VjA==",
235
+          "requires": {
236
+            "dom-helpers": "^3.3.1",
237
+            "loose-envify": "^1.3.1",
238
+            "prop-types": "^15.6.2",
239
+            "react-lifecycles-compat": "^3.0.4"
240
+          },
241
+          "dependencies": {
242
+            "prop-types": {
243
+              "version": "15.6.2",
244
+              "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
245
+              "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
246
+              "requires": {
247
+                "loose-envify": "^1.3.1",
248
+                "object-assign": "^4.1.1"
249
+              }
250
+            }
251
+          }
252
+        }
89
       }
253
       }
90
     },
254
     },
91
     "@atlaskit/field-base": {
255
     "@atlaskit/field-base": {
110
             "@atlaskit/theme": "^6.0.2",
274
             "@atlaskit/theme": "^6.0.2",
111
             "react-node-resolver": "^1.0.1"
275
             "react-node-resolver": "^1.0.1"
112
           }
276
           }
277
+        },
278
+        "@atlaskit/spinner": {
279
+          "version": "9.0.9",
280
+          "resolved": "https://registry.npmjs.org/@atlaskit/spinner/-/spinner-9.0.9.tgz",
281
+          "integrity": "sha512-hoaed3P0sxV2VNdx1elo5SQZ5I4RYRlJTVEJ8NUt/BGrIYtJj3KIxbjgOYUQmKqZs5lWWYnRtHZTIyzZA4GqIg==",
282
+          "requires": {
283
+            "@atlaskit/theme": "^6.0.3",
284
+            "babel-runtime": "^6.26.0",
285
+            "react-transition-group": "^2.2.1"
286
+          }
287
+        },
288
+        "@atlaskit/theme": {
289
+          "version": "6.0.3",
290
+          "resolved": "https://registry.npmjs.org/@atlaskit/theme/-/theme-6.0.3.tgz",
291
+          "integrity": "sha512-s90qPe3S0fXtf1xHxH4uhT2IIbvGkMWLp1HW66rv0c8VSBj0f5VaJW+xVs7BLii5rN1QnOtsYS3ykx307mZOJQ==",
292
+          "requires": {
293
+            "prop-types": "^15.5.10"
294
+          }
295
+        },
296
+        "react-transition-group": {
297
+          "version": "2.4.0",
298
+          "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-2.4.0.tgz",
299
+          "integrity": "sha512-Xv5d55NkJUxUzLCImGSanK8Cl/30sgpOEMGc5m86t8+kZwrPxPCPcFqyx83kkr+5Lz5gs6djuvE5By+gce+VjA==",
300
+          "requires": {
301
+            "dom-helpers": "^3.3.1",
302
+            "loose-envify": "^1.3.1",
303
+            "prop-types": "^15.6.2",
304
+            "react-lifecycles-compat": "^3.0.4"
305
+          },
306
+          "dependencies": {
307
+            "prop-types": {
308
+              "version": "15.6.2",
309
+              "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.6.2.tgz",
310
+              "integrity": "sha512-3pboPvLiWD7dkI3qf3KbUe6hKFKa52w+AE0VCqECtf+QHAKgOL37tTaNCnuX1nAAQ4ZhyP+kYVKf8rLmJ/feDQ==",
311
+              "requires": {
312
+                "loose-envify": "^1.3.1",
313
+                "object-assign": "^4.1.1"
314
+              }
315
+            }
316
+          }
113
         }
317
         }
114
       }
318
       }
115
     },
319
     },
121
         "@atlaskit/analytics-next": "^3.0.6",
325
         "@atlaskit/analytics-next": "^3.0.6",
122
         "@atlaskit/field-base": "^11.0.7",
326
         "@atlaskit/field-base": "^11.0.7",
123
         "@atlaskit/theme": "^6.0.2"
327
         "@atlaskit/theme": "^6.0.2"
328
+      },
329
+      "dependencies": {
330
+        "@atlaskit/theme": {
331
+          "version": "6.0.3",
332
+          "resolved": "https://registry.npmjs.org/@atlaskit/theme/-/theme-6.0.3.tgz",
333
+          "integrity": "sha512-s90qPe3S0fXtf1xHxH4uhT2IIbvGkMWLp1HW66rv0c8VSBj0f5VaJW+xVs7BLii5rN1QnOtsYS3ykx307mZOJQ==",
334
+          "requires": {
335
+            "prop-types": "^15.5.10"
336
+          }
337
+        }
124
       }
338
       }
125
     },
339
     },
126
     "@atlaskit/field-text-area": {
340
     "@atlaskit/field-text-area": {
133
         "@atlaskit/theme": "^6.0.2",
347
         "@atlaskit/theme": "^6.0.2",
134
         "babel-runtime": "^6.26.0",
348
         "babel-runtime": "^6.26.0",
135
         "prop-types": "^15.5.10"
349
         "prop-types": "^15.5.10"
350
+      },
351
+      "dependencies": {
352
+        "@atlaskit/theme": {
353
+          "version": "6.0.3",
354
+          "resolved": "https://registry.npmjs.org/@atlaskit/theme/-/theme-6.0.3.tgz",
355
+          "integrity": "sha512-s90qPe3S0fXtf1xHxH4uhT2IIbvGkMWLp1HW66rv0c8VSBj0f5VaJW+xVs7BLii5rN1QnOtsYS3ykx307mZOJQ==",
356
+          "requires": {
357
+            "prop-types": "^15.5.10"
358
+          }
359
+        }
136
       }
360
       }
137
     },
361
     },
138
     "@atlaskit/flag": {
362
     "@atlaskit/flag": {
203
         "@atlaskit/theme": "^6.0.2",
427
         "@atlaskit/theme": "^6.0.2",
204
         "babel-runtime": "^6.26.0",
428
         "babel-runtime": "^6.26.0",
205
         "uuid": "^3.1.0"
429
         "uuid": "^3.1.0"
430
+      },
431
+      "dependencies": {
432
+        "@atlaskit/theme": {
433
+          "version": "6.0.3",
434
+          "resolved": "https://registry.npmjs.org/@atlaskit/theme/-/theme-6.0.3.tgz",
435
+          "integrity": "sha512-s90qPe3S0fXtf1xHxH4uhT2IIbvGkMWLp1HW66rv0c8VSBj0f5VaJW+xVs7BLii5rN1QnOtsYS3ykx307mZOJQ==",
436
+          "requires": {
437
+            "prop-types": "^15.5.10"
438
+          }
439
+        }
206
       }
440
       }
207
     },
441
     },
208
     "@atlaskit/inline-dialog": {
442
     "@atlaskit/inline-dialog": {
246
       },
480
       },
247
       "dependencies": {
481
       "dependencies": {
248
         "@atlaskit/inline-dialog": {
482
         "@atlaskit/inline-dialog": {
249
-          "version": "9.0.4",
250
-          "resolved": "https://registry.npmjs.org/@atlaskit/inline-dialog/-/inline-dialog-9.0.4.tgz",
251
-          "integrity": "sha512-MZ3uWZBIhLK0Bv8cAsKGXFXbAHsWqXiq5sHmzJbUHzK2Q/fw1naa40ER0qufSHwqOaL2A/17mSZInMuFTzE5mw==",
483
+          "version": "9.0.5",
484
+          "resolved": "https://registry.npmjs.org/@atlaskit/inline-dialog/-/inline-dialog-9.0.5.tgz",
485
+          "integrity": "sha512-gX/ouNLvIXCDlgqIdJka2KRgqE55yfffHg+Vu7foQCQiJDgofXhQGydDIbzV0yqR+0L7d9ze8SSYGYT33XtA8g==",
252
           "requires": {
486
           "requires": {
253
             "@atlaskit/analytics-next": "^3.0.6",
487
             "@atlaskit/analytics-next": "^3.0.6",
254
             "@atlaskit/popper": "^0.2.3",
488
             "@atlaskit/popper": "^0.2.3",
267
         "prop-types": "^15.5.10",
501
         "prop-types": "^15.5.10",
268
         "react-addons-text-content": "^0.0.4",
502
         "react-addons-text-content": "^0.0.4",
269
         "uuid": "^3.1.0"
503
         "uuid": "^3.1.0"
504
+      },
505
+      "dependencies": {
506
+        "@atlaskit/theme": {
507
+          "version": "6.0.3",
508
+          "resolved": "https://registry.npmjs.org/@atlaskit/theme/-/theme-6.0.3.tgz",
509
+          "integrity": "sha512-s90qPe3S0fXtf1xHxH4uhT2IIbvGkMWLp1HW66rv0c8VSBj0f5VaJW+xVs7BLii5rN1QnOtsYS3ykx307mZOJQ==",
510
+          "requires": {
511
+            "prop-types": "^15.5.10"
512
+          }
513
+        }
270
       }
514
       }
271
     },
515
     },
272
     "@atlaskit/layer": {
516
     "@atlaskit/layer": {
473
         "prop-types": "^15.5.10"
717
         "prop-types": "^15.5.10"
474
       }
718
       }
475
     },
719
     },
720
+    "@atlaskit/toggle": {
721
+      "version": "5.0.8",
722
+      "resolved": "https://registry.npmjs.org/@atlaskit/toggle/-/toggle-5.0.8.tgz",
723
+      "integrity": "sha512-O+vZXljTEuxHGri33X3AqN5RPSqin2Tztt3y1oWIOSa4j7enNIf+lZ9mjiRmzgeEhJ8F3PGnmFBkJCuZuofinA==",
724
+      "requires": {
725
+        "@atlaskit/analytics-next": "^3.0.6",
726
+        "@atlaskit/icon": "^13.6.1",
727
+        "@atlaskit/theme": "^6.0.2",
728
+        "uuid": "^3.1.0"
729
+      },
730
+      "dependencies": {
731
+        "@atlaskit/analytics-next": {
732
+          "version": "3.0.7",
733
+          "resolved": "https://registry.npmjs.org/@atlaskit/analytics-next/-/analytics-next-3.0.7.tgz",
734
+          "integrity": "sha512-osUW2nntOjVKvJBQx2JE21cZ5H13mk8drQkSNw1KJWhV8bDIjZLuDBGqUI6kKbE+M0dGZP4se8YcwILcx1Vdaw==",
735
+          "requires": {
736
+            "prop-types": "^15.5.10"
737
+          }
738
+        },
739
+        "@atlaskit/icon": {
740
+          "version": "13.8.0",
741
+          "resolved": "https://registry.npmjs.org/@atlaskit/icon/-/icon-13.8.0.tgz",
742
+          "integrity": "sha512-uHm/g7oNyX+KcWFCBS3JtZyZdRxUL4BP8jkotUdRYpVepV6RoG3NcEgRiPJgTnP1BWiWyIAiJiNABT+DyTQuFQ==",
743
+          "requires": {
744
+            "@atlaskit/theme": "^6.0.2",
745
+            "babel-runtime": "^6.26.0",
746
+            "uuid": "^3.1.0"
747
+          }
748
+        },
749
+        "@atlaskit/theme": {
750
+          "version": "6.0.2",
751
+          "resolved": "https://registry.npmjs.org/@atlaskit/theme/-/theme-6.0.2.tgz",
752
+          "integrity": "sha512-GUnbTuxxcRaSubEFJJI6hWKwfCI6t1NKv1dVKCfIPhFdj/wBuyn/2rr8TKjwNRdhGHfY1kNq27fTX9Xt/sZ2QA==",
753
+          "requires": {
754
+            "prop-types": "^15.5.10"
755
+          }
756
+        }
757
+      }
758
+    },
476
     "@atlaskit/tooltip": {
759
     "@atlaskit/tooltip": {
477
       "version": "12.0.14",
760
       "version": "12.0.14",
478
       "resolved": "https://registry.npmjs.org/@atlaskit/tooltip/-/tooltip-12.0.14.tgz",
761
       "resolved": "https://registry.npmjs.org/@atlaskit/tooltip/-/tooltip-12.0.14.tgz",

+ 1
- 0
package.json View File

32
     "@atlaskit/spinner": "9.0.8",
32
     "@atlaskit/spinner": "9.0.8",
33
     "@atlaskit/tabs": "8.0.8",
33
     "@atlaskit/tabs": "8.0.8",
34
     "@atlaskit/theme": "6.0.2",
34
     "@atlaskit/theme": "6.0.2",
35
+    "@atlaskit/toggle": "5.0.8",
35
     "@atlaskit/tooltip": "12.0.14",
36
     "@atlaskit/tooltip": "12.0.14",
36
     "@microsoft/microsoft-graph-client": "1.1.0",
37
     "@microsoft/microsoft-graph-client": "1.1.0",
37
     "@webcomponents/url": "0.7.1",
38
     "@webcomponents/url": "0.7.1",

+ 3
- 0
react/features/base/react/components/native/Switch.js View File

1
+// @flow
2
+
3
+export { Switch as default } from 'react-native';

+ 2
- 1
react/features/base/react/components/native/index.js View File

10
     from './NavigateSectionListSectionHeader';
10
     from './NavigateSectionListSectionHeader';
11
 export { default as PagedList } from './PagedList';
11
 export { default as PagedList } from './PagedList';
12
 export { default as Pressable } from './Pressable';
12
 export { default as Pressable } from './Pressable';
13
+export { default as SectionList } from './SectionList';
13
 export { default as SideBar } from './SideBar';
14
 export { default as SideBar } from './SideBar';
15
+export { default as Switch } from './Switch';
14
 export { default as Text } from './Text';
16
 export { default as Text } from './Text';
15
-export { default as SectionList } from './SectionList';
16
 export { default as TintedView } from './TintedView';
17
 export { default as TintedView } from './TintedView';

+ 62
- 0
react/features/base/react/components/web/Switch.js View File

1
+/* @flow */
2
+
3
+import { ToggleStateless } from '@atlaskit/toggle';
4
+import React, { Component } from 'react';
5
+
6
+type Props = {
7
+
8
+    /**
9
+     * CSS class name.
10
+     */
11
+    className: string,
12
+
13
+    /**
14
+     * Indicates whether the switch is disabled or not.
15
+     */
16
+    disabled: boolean,
17
+
18
+    /**
19
+     * Handler called when the user presses the switch.
20
+     */
21
+    onValueChange: Function,
22
+
23
+    /**
24
+     * The current value.
25
+     */
26
+    value: boolean
27
+};
28
+
29
+/**
30
+ * Renders a boolean input.
31
+ */
32
+export default class Switch extends Component<Props> {
33
+    /**
34
+     * Implements React's {@link Component#render()}.
35
+     *
36
+     * @inheritdoc
37
+     * @returns {ReactElement}
38
+     */
39
+    render() {
40
+        const {
41
+            className,
42
+            disabled,
43
+            onValueChange,
44
+            value,
45
+            ...props
46
+        } = this.props;
47
+
48
+        // TODO: onChange will be called with parameter Event. It will be good
49
+        // if we translate it to calling the onValueChange with the value as a
50
+        // parameter to match the native implementation.
51
+
52
+        return (
53
+            <div className = { className }>
54
+                <ToggleStateless
55
+                    isChecked = { value }
56
+                    isDisabled = { disabled }
57
+                    onChange = { onValueChange }
58
+                    { ...props } />
59
+            </div>
60
+        );
61
+    }
62
+}

+ 1
- 0
react/features/base/react/components/web/index.js View File

8
 export { default as NavigateSectionListSectionHeader }
8
 export { default as NavigateSectionListSectionHeader }
9
     from './NavigateSectionListSectionHeader';
9
     from './NavigateSectionListSectionHeader';
10
 export { default as SectionList } from './SectionList';
10
 export { default as SectionList } from './SectionList';
11
+export { default as Switch } from './Switch';
11
 export { default as Text } from './Text';
12
 export { default as Text } from './Text';
12
 export { default as Watermarks } from './Watermarks';
13
 export { default as Watermarks } from './Watermarks';

Loading…
Cancel
Save