@draftbit/core 43.2.5-4ece9c.0 → 43.2.5-8bfd16.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/lib/commonjs/components/Carousel.js +0 -3
- package/lib/commonjs/components/Carousel.js.map +1 -1
- package/lib/commonjs/components/CircleImage.js +3 -17
- package/lib/commonjs/components/DeprecatedCardWrapper.js +14 -2
- package/lib/commonjs/components/DeprecatedCardWrapper.js.map +1 -1
- package/lib/commonjs/components/DeprecatedFAB.js +4 -20
- package/lib/commonjs/components/DeprecatedFAB.js.map +1 -1
- package/lib/commonjs/components/StarRating.js +5 -23
- package/lib/commonjs/components/StarRating.js.map +1 -1
- package/lib/commonjs/components/Swiper/SwiperItem.js.map +1 -1
- package/lib/commonjs/components/TabView/TabView.js +103 -0
- package/lib/commonjs/components/TabView/TabView.js.map +1 -0
- package/lib/commonjs/components/TabView/TabViewItem.js +27 -0
- package/lib/commonjs/components/TabView/TabViewItem.js.map +1 -0
- package/lib/commonjs/components/TabView/index.js +24 -0
- package/lib/commonjs/components/TabView/index.js.map +1 -0
- package/lib/commonjs/index.js +14 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/mappings/AudioPlayer.js.map +1 -1
- package/lib/commonjs/mappings/Carousel.js +3 -1
- package/lib/commonjs/mappings/Carousel.js.map +1 -1
- package/lib/commonjs/mappings/FAB.js +1 -1
- package/lib/commonjs/mappings/FAB.js.map +1 -1
- package/lib/commonjs/mappings/Modal.js.map +1 -1
- package/lib/commonjs/mappings/RadioButtonRow.js.map +1 -1
- package/lib/commonjs/mappings/Surface.js.map +1 -1
- package/lib/commonjs/mappings/TabView.js +80 -0
- package/lib/commonjs/mappings/TabView.js.map +1 -0
- package/lib/module/components/Carousel.js +0 -3
- package/lib/module/components/Carousel.js.map +1 -1
- package/lib/module/components/TabView/TabView.js +88 -0
- package/lib/module/components/TabView/TabView.js.map +1 -0
- package/lib/module/components/TabView/TabViewItem.js +19 -0
- package/lib/module/components/TabView/TabViewItem.js.map +1 -0
- package/lib/module/components/TabView/index.js +3 -0
- package/lib/module/components/TabView/index.js.map +1 -0
- package/lib/module/components/TextField.js +24 -7
- package/lib/module/components/TextField.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/mappings/Carousel.js +3 -1
- package/lib/module/mappings/Carousel.js.map +1 -1
- package/lib/module/mappings/FAB.js +1 -1
- package/lib/module/mappings/FAB.js.map +1 -1
- package/lib/module/mappings/TabView.js +71 -0
- package/lib/module/mappings/TabView.js.map +1 -0
- package/lib/typescript/src/components/TabView/TabView.d.ts +19 -0
- package/lib/typescript/src/components/TabView/TabViewItem.d.ts +10 -0
- package/lib/typescript/src/components/TabView/index.d.ts +2 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/mappings/Carousel.d.ts +3 -1
- package/lib/typescript/src/mappings/FAB.d.ts +1 -1
- package/lib/typescript/src/mappings/TabView.d.ts +111 -0
- package/package.json +4 -2
- package/src/components/Carousel.js +0 -3
- package/src/components/Carousel.tsx +0 -3
- package/src/components/TabView/TabView.js +33 -0
- package/src/components/TabView/TabView.tsx +97 -0
- package/src/components/TabView/TabViewItem.js +5 -0
- package/src/components/TabView/TabViewItem.tsx +21 -0
- package/src/components/TabView/index.js +2 -0
- package/src/components/TabView/index.ts +2 -0
- package/src/index.js +1 -0
- package/src/index.tsx +1 -0
- package/src/mappings/Carousel.js +3 -1
- package/src/mappings/Carousel.ts +3 -1
- package/src/mappings/FAB.js +1 -1
- package/src/mappings/FAB.ts +1 -1
- package/src/mappings/TabView.js +73 -0
- package/src/mappings/TabView.ts +80 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FAB.ts"],"names":["SEED_DATA","name","tag","category","COMPONENT_TYPES","button","description","layout","triggers","Triggers","OnPress","props","onPress","disabled","label","group","GROUPS","basic","loading","iconName","defaultValue","iconColor","bgColor","
|
|
1
|
+
{"version":3,"sources":["FAB.ts"],"names":["SEED_DATA","name","tag","category","COMPONENT_TYPES","button","description","layout","triggers","Triggers","OnPress","props","onPress","disabled","label","group","GROUPS","basic","loading","iconName","defaultValue","iconColor","bgColor","size"],"mappings":";;;;;;;AAAA;;AAWO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,KADiB;AAEvBC,EAAAA,GAAG,EAAE,KAFkB;AAGvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,MAHH;AAIvBC,EAAAA,WAAW,EAAE,uBAJU;AAKvBC,EAAAA,MAAM,EAAE,EALe;AAMvBC,EAAAA,QAAQ,EAAE,CAACC,gBAASC,OAAV,CANa;AAOvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,8BADJ;AAELC,IAAAA,QAAQ,EAAE,2BAAe;AACvBC,MAAAA,KAAK,EAAE,UADgB;AAEvBC,MAAAA,KAAK,EAAEC,cAAOC;AAFS,KAAf,CAFL;AAMLC,IAAAA,OAAO,EAAE,2BAAe;AACtBJ,MAAAA,KAAK,EAAE,SADe;AAEtBC,MAAAA,KAAK,EAAEC,cAAOC;AAFQ,KAAf,CANJ;AAULE,IAAAA,QAAQ,EAAE,2BAAe;AACvBL,MAAAA,KAAK,EAAE,MADgB;AAEvBM,MAAAA,YAAY,EAAE,IAFS;AAGvBL,MAAAA,KAAK,EAAEC,cAAOC;AAHS,KAAf,CAVL;AAeLI,IAAAA,SAAS,EAAE,4BAAgB;AACzBP,MAAAA,KAAK,EAAE,YADkB;AAEzBM,MAAAA,YAAY,EAAE,IAFW;AAGzBL,MAAAA,KAAK,EAAEC,cAAOC;AAHW,KAAhB,CAfN;AAoBLK,IAAAA,OAAO,EAAE,4BAAgB;AACvBR,MAAAA,KAAK,EAAE,kBADgB;AAEvBM,MAAAA,YAAY,EAAE,IAFS;AAGvBL,MAAAA,KAAK,EAAEC,cAAOC;AAHS,KAAhB,CApBJ;AAyBLM,IAAAA,IAAI,EAAE;AAzBD;AAPgB,CAAlB","sourcesContent":["import {\n COMPONENT_TYPES,\n createIconProp,\n createColorProp,\n GROUPS,\n createBoolProp,\n createIconSizeProp,\n createActionProp,\n Triggers,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"FAB\",\n tag: \"FAB\",\n category: COMPONENT_TYPES.button,\n description: \"A mini round icon FAB\",\n layout: {},\n triggers: [Triggers.OnPress],\n props: {\n onPress: createActionProp(),\n disabled: createBoolProp({\n label: \"Disabled\",\n group: GROUPS.basic,\n }),\n loading: createBoolProp({\n label: \"Loading\",\n group: GROUPS.basic,\n }),\n iconName: createIconProp({\n label: \"Icon\",\n defaultValue: null,\n group: GROUPS.basic,\n }),\n iconColor: createColorProp({\n label: \"Icon color\",\n defaultValue: null,\n group: GROUPS.basic,\n }),\n bgColor: createColorProp({\n label: \"Background color\",\n defaultValue: null,\n group: GROUPS.basic,\n }),\n size: createIconSizeProp(),\n },\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Modal.
|
|
1
|
+
{"version":3,"sources":["Modal.ts"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","container","props","animationType","group","GROUPS","basic","label","options","editable","required","formType","FORM_TYPES","flatArray","propType","PROP_TYPES","STRING","defaultValue","transparent","visible","data","presentationStyle"],"mappings":";;;;;;;AAAA;;AAQO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,OADiB;AAEvBC,EAAAA,GAAG,EAAE,OAFkB;AAGvBC,EAAAA,WAAW,EAAE,yBAHU;AAIvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,SAJH;AAKvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,aAAa,EAAE;AACbC,MAAAA,KAAK,EAAEC,cAAOC,KADD;AAEbC,MAAAA,KAAK,EAAE,gBAFM;AAGbT,MAAAA,WAAW,EAAE,gBAHA;AAIbU,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,MAAV,EAAkB,MAAlB,CAJI;AAKbC,MAAAA,QAAQ,EAAE,IALG;AAMbC,MAAAA,QAAQ,EAAE,KANG;AAObC,MAAAA,QAAQ,EAAEC,kBAAWC,SAPR;AAQbC,MAAAA,QAAQ,EAAEC,kBAAWC,MARR;AASbC,MAAAA,YAAY,EAAE;AATD,KADV;AAYLC,IAAAA,WAAW,EAAE,2BAAe;AAC1Bd,MAAAA,KAAK,EAAEC,cAAOC,KADY;AAE1BC,MAAAA,KAAK,EAAE,aAFmB;AAG1BT,MAAAA,WAAW,EACT;AAJwB,KAAf,CAZR;AAkBLqB,IAAAA,OAAO,EAAE,2BAAe;AACtBf,MAAAA,KAAK,EAAEC,cAAOe,IADQ;AAEtBb,MAAAA,KAAK,EAAE,SAFe;AAGtBT,MAAAA,WAAW,EAAE;AAHS,KAAf,CAlBJ;AAuBLuB,IAAAA,iBAAiB,EAAE;AACjBjB,MAAAA,KAAK,EAAEC,cAAOC,KADG;AAEjBC,MAAAA,KAAK,EAAE,oBAFU;AAGjBT,MAAAA,WAAW,EAAE,oBAHI;AAIjBU,MAAAA,OAAO,EAAE,CAAC,YAAD,EAAe,WAAf,EAA4B,WAA5B,EAAyC,gBAAzC,CAJQ;AAKjBC,MAAAA,QAAQ,EAAE,IALO;AAMjBC,MAAAA,QAAQ,EAAE,KANO;AAOjBC,MAAAA,QAAQ,EAAEC,kBAAWC,SAPJ;AAQjBC,MAAAA,QAAQ,EAAEC,kBAAWC,MARJ;AASjBC,MAAAA,YAAY,EAAE;AATG;AAvBd;AALgB,CAAlB","sourcesContent":["import {\n GROUPS,\n COMPONENT_TYPES,\n FORM_TYPES,\n PROP_TYPES,\n createBoolProp,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Modal\",\n tag: \"Modal\",\n description: \"A basic Modal Component\",\n category: COMPONENT_TYPES.container,\n props: {\n animationType: {\n group: GROUPS.basic,\n label: \"Animation Type\",\n description: \"Animation Type\",\n options: [\"slide\", \"fade\", \"none\"],\n editable: true,\n required: false,\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"none\",\n },\n transparent: createBoolProp({\n group: GROUPS.basic,\n label: \"Transparent\",\n description:\n \"Determines whether the modal will fill the entire view. Setting this to true will render the modal over a transparent background\",\n }),\n visible: createBoolProp({\n group: GROUPS.data,\n label: \"Visible\",\n description: \"Determines whether the modal is visible\",\n }),\n presentationStyle: {\n group: GROUPS.basic,\n label: \"Presentation Style\",\n description: \"Presentation Style\",\n options: [\"fullScreen\", \"pageSheet\", \"formSheet\", \"overFullScreen\"],\n editable: true,\n required: false,\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n },\n },\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["RadioButtonRow.
|
|
1
|
+
{"version":3,"sources":["RadioButtonRow.ts"],"names":["SEED_DATA","name","tag","category","COMPONENT_TYPES","input","layout","props","label","description","required","defaultValue","direction","options","value","color","group","GROUPS","basic","unselectedColor"],"mappings":";;;;;;;AAAA;;AAQO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,kBADiB;AAEvBC,EAAAA,GAAG,EAAE,gBAFkB;AAGvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,KAHH;AAIvBC,EAAAA,MAAM,EAAE,EAJe;AAKvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAE,2BAAe;AACpBA,MAAAA,KAAK,EAAE,OADa;AAEpBC,MAAAA,WAAW,EAAE,qCAFO;AAGpBC,MAAAA,QAAQ,EAAE,IAHU;AAIpBC,MAAAA,YAAY,EAAE;AAJM,KAAf,CADF;AAOLC,IAAAA,SAAS,EAAE,+BAAmB;AAC5BJ,MAAAA,KAAK,EAAE,WADqB;AAE5BC,MAAAA,WAAW,EACT,8DAH0B;AAI5BI,MAAAA,OAAO,EAAE,CAAC,KAAD,EAAQ,aAAR;AAJmB,KAAnB,CAPN;AAaLC,IAAAA,KAAK,EAAE,2BAAe;AACpBN,MAAAA,KAAK,EAAE,OADa;AAEpBC,MAAAA,WAAW,EAAE,2BAFO;AAGpBE,MAAAA,YAAY,EAAE,IAHM;AAIpBD,MAAAA,QAAQ,EAAE;AAJU,KAAf,CAbF;AAmBLK,IAAAA,KAAK,EAAE,4BAAgB;AACrBC,MAAAA,KAAK,EAAEC,cAAOC,KADO;AAErBT,MAAAA,WAAW,EAAE,sBAFQ;AAGrBE,MAAAA,YAAY,EAAE;AAHO,KAAhB,CAnBF;AAwBLQ,IAAAA,eAAe,EAAE,4BAAgB;AAC/BH,MAAAA,KAAK,EAAEC,cAAOC,KADiB;AAE/BV,MAAAA,KAAK,EAAE,kBAFwB;AAG/BC,MAAAA,WAAW,EAAE,iCAHkB;AAI/BE,MAAAA,YAAY,EAAE;AAJiB,KAAhB;AAxBZ;AALgB,CAAlB","sourcesContent":["import {\n createTextProp,\n createTextEnumProp,\n COMPONENT_TYPES,\n createColorProp,\n GROUPS,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Radio Button Row\",\n tag: \"RadioButtonRow\",\n category: COMPONENT_TYPES.input,\n layout: {},\n props: {\n label: createTextProp({\n label: \"Label\",\n description: \"Label to show with the radio button\",\n required: true,\n defaultValue: \"First Option\",\n }),\n direction: createTextEnumProp({\n label: \"Direction\",\n description:\n \"Whether the checkbox will appear on the left or on the right\",\n options: [\"row\", \"row-reverse\"],\n }),\n value: createTextProp({\n label: \"Value\",\n description: \"Value of the radio button\",\n defaultValue: null,\n required: true,\n }),\n color: createColorProp({\n group: GROUPS.basic,\n description: \"Color for the button\",\n defaultValue: \"primary\",\n }),\n unselectedColor: createColorProp({\n group: GROUPS.basic,\n label: \"Unselected Color\",\n description: \"Unselected Color for the button\",\n defaultValue: \"primary\",\n }),\n },\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Surface.
|
|
1
|
+
{"version":3,"sources":["Surface.ts"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","layout","minHeight","props","elevation"],"mappings":";;;;;;;AAAA;;AAEO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,SADiB;AAEvBC,EAAAA,GAAG,EAAE,SAFkB;AAGvBC,EAAAA,WAAW,EAAE,uBAHU;AAIvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,MAJH;AAKvBA,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AADL,GALe;AAQvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,SAAS,EAAE,gCAAoB,CAApB;AADN;AARgB,CAAlB","sourcesContent":["import { COMPONENT_TYPES, createElevationType } from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Surface\",\n tag: \"Surface\",\n description: \"An elevated container\",\n category: COMPONENT_TYPES.layout,\n layout: {\n minHeight: 40,\n },\n props: {\n elevation: createElevationType(0),\n },\n};\n"]}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SEED_DATA = void 0;
|
|
7
|
+
|
|
8
|
+
var _types = require("@draftbit/types");
|
|
9
|
+
|
|
10
|
+
const SEED_DATA = [{
|
|
11
|
+
name: "TabView",
|
|
12
|
+
tag: "TabView",
|
|
13
|
+
category: _types.COMPONENT_TYPES.container,
|
|
14
|
+
layout: {},
|
|
15
|
+
props: {
|
|
16
|
+
tabBarPosition: (0, _types.createTextEnumProp)({
|
|
17
|
+
label: "Tab Bar Position",
|
|
18
|
+
description: "Tab Bar Position",
|
|
19
|
+
options: ["top", "bottom"],
|
|
20
|
+
defaultValue: "top"
|
|
21
|
+
}),
|
|
22
|
+
keyboardDismissMode: (0, _types.createTextEnumProp)({
|
|
23
|
+
label: "Keyboard Dismiss Mode",
|
|
24
|
+
description: "Keyboard Dismiss Mode",
|
|
25
|
+
options: ["auto", "on-drag", "none"],
|
|
26
|
+
defaultValue: "auto"
|
|
27
|
+
}),
|
|
28
|
+
swipeEnabled: (0, _types.createBoolProp)({
|
|
29
|
+
label: "Swipe Enabled",
|
|
30
|
+
description: "Swipe Enabled",
|
|
31
|
+
defaultValue: true
|
|
32
|
+
}),
|
|
33
|
+
scrollEnabled: (0, _types.createBoolProp)({
|
|
34
|
+
label: "Scroll Enabled",
|
|
35
|
+
description: "Scroll Enabled",
|
|
36
|
+
defaultValue: true
|
|
37
|
+
}),
|
|
38
|
+
activeColor: (0, _types.createColorProp)({
|
|
39
|
+
label: "Active Color",
|
|
40
|
+
description: "Active Color",
|
|
41
|
+
defaultValue: "primary"
|
|
42
|
+
}),
|
|
43
|
+
inactiveColor: (0, _types.createColorProp)({
|
|
44
|
+
label: "Inactive Color",
|
|
45
|
+
description: "Inactive Color",
|
|
46
|
+
defaultValue: null
|
|
47
|
+
}),
|
|
48
|
+
pressColor: (0, _types.createColorProp)({
|
|
49
|
+
label: "Press Color",
|
|
50
|
+
description: "Press Color",
|
|
51
|
+
defaultValue: null
|
|
52
|
+
}),
|
|
53
|
+
indicatorColor: (0, _types.createColorProp)({
|
|
54
|
+
label: "Indicator Color",
|
|
55
|
+
description: "Indicator Color",
|
|
56
|
+
defaultValue: null
|
|
57
|
+
})
|
|
58
|
+
}
|
|
59
|
+
}, {
|
|
60
|
+
name: "TabViewItem",
|
|
61
|
+
tag: "TabViewItem",
|
|
62
|
+
category: _types.COMPONENT_TYPES.container,
|
|
63
|
+
layout: {},
|
|
64
|
+
props: {
|
|
65
|
+
title: (0, _types.createTextProp)({
|
|
66
|
+
label: "Title",
|
|
67
|
+
description: "Tab Title"
|
|
68
|
+
}),
|
|
69
|
+
id: (0, _types.createTextProp)({
|
|
70
|
+
label: "Id",
|
|
71
|
+
description: "Tab Id"
|
|
72
|
+
}),
|
|
73
|
+
accessibilityLabel: (0, _types.createTextProp)({
|
|
74
|
+
label: "Accessibility Label",
|
|
75
|
+
description: "Accessibility Label"
|
|
76
|
+
})
|
|
77
|
+
}
|
|
78
|
+
}];
|
|
79
|
+
exports.SEED_DATA = SEED_DATA;
|
|
80
|
+
//# sourceMappingURL=TabView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TabView.ts"],"names":["SEED_DATA","name","tag","category","COMPONENT_TYPES","container","layout","props","tabBarPosition","label","description","options","defaultValue","keyboardDismissMode","swipeEnabled","scrollEnabled","activeColor","inactiveColor","pressColor","indicatorColor","title","id","accessibilityLabel"],"mappings":";;;;;;;AAAA;;AAQO,MAAMA,SAAS,GAAG,CACvB;AACEC,EAAAA,IAAI,EAAE,SADR;AAEEC,EAAAA,GAAG,EAAE,SAFP;AAGEC,EAAAA,QAAQ,EAAEC,uBAAgBC,SAH5B;AAIEC,EAAAA,MAAM,EAAE,EAJV;AAKEC,EAAAA,KAAK,EAAE;AACLC,IAAAA,cAAc,EAAE,+BAAmB;AACjCC,MAAAA,KAAK,EAAE,kBAD0B;AAEjCC,MAAAA,WAAW,EAAE,kBAFoB;AAGjCC,MAAAA,OAAO,EAAE,CAAC,KAAD,EAAQ,QAAR,CAHwB;AAIjCC,MAAAA,YAAY,EAAE;AAJmB,KAAnB,CADX;AAOLC,IAAAA,mBAAmB,EAAE,+BAAmB;AACtCJ,MAAAA,KAAK,EAAE,uBAD+B;AAEtCC,MAAAA,WAAW,EAAE,uBAFyB;AAGtCC,MAAAA,OAAO,EAAE,CAAC,MAAD,EAAS,SAAT,EAAoB,MAApB,CAH6B;AAItCC,MAAAA,YAAY,EAAE;AAJwB,KAAnB,CAPhB;AAaLE,IAAAA,YAAY,EAAE,2BAAe;AAC3BL,MAAAA,KAAK,EAAE,eADoB;AAE3BC,MAAAA,WAAW,EAAE,eAFc;AAG3BE,MAAAA,YAAY,EAAE;AAHa,KAAf,CAbT;AAkBLG,IAAAA,aAAa,EAAE,2BAAe;AAC5BN,MAAAA,KAAK,EAAE,gBADqB;AAE5BC,MAAAA,WAAW,EAAE,gBAFe;AAG5BE,MAAAA,YAAY,EAAE;AAHc,KAAf,CAlBV;AAuBLI,IAAAA,WAAW,EAAE,4BAAgB;AAC3BP,MAAAA,KAAK,EAAE,cADoB;AAE3BC,MAAAA,WAAW,EAAE,cAFc;AAG3BE,MAAAA,YAAY,EAAE;AAHa,KAAhB,CAvBR;AA4BLK,IAAAA,aAAa,EAAE,4BAAgB;AAC7BR,MAAAA,KAAK,EAAE,gBADsB;AAE7BC,MAAAA,WAAW,EAAE,gBAFgB;AAG7BE,MAAAA,YAAY,EAAE;AAHe,KAAhB,CA5BV;AAiCLM,IAAAA,UAAU,EAAE,4BAAgB;AAC1BT,MAAAA,KAAK,EAAE,aADmB;AAE1BC,MAAAA,WAAW,EAAE,aAFa;AAG1BE,MAAAA,YAAY,EAAE;AAHY,KAAhB,CAjCP;AAsCLO,IAAAA,cAAc,EAAE,4BAAgB;AAC9BV,MAAAA,KAAK,EAAE,iBADuB;AAE9BC,MAAAA,WAAW,EAAE,iBAFiB;AAG9BE,MAAAA,YAAY,EAAE;AAHgB,KAAhB;AAtCX;AALT,CADuB,EAmDvB;AACEX,EAAAA,IAAI,EAAE,aADR;AAEEC,EAAAA,GAAG,EAAE,aAFP;AAGEC,EAAAA,QAAQ,EAAEC,uBAAgBC,SAH5B;AAIEC,EAAAA,MAAM,EAAE,EAJV;AAKEC,EAAAA,KAAK,EAAE;AACLa,IAAAA,KAAK,EAAE,2BAAe;AACpBX,MAAAA,KAAK,EAAE,OADa;AAEpBC,MAAAA,WAAW,EAAE;AAFO,KAAf,CADF;AAKLW,IAAAA,EAAE,EAAE,2BAAe;AACjBZ,MAAAA,KAAK,EAAE,IADU;AAEjBC,MAAAA,WAAW,EAAE;AAFI,KAAf,CALC;AASLY,IAAAA,kBAAkB,EAAE,2BAAe;AACjCb,MAAAA,KAAK,EAAE,qBAD0B;AAEjCC,MAAAA,WAAW,EAAE;AAFoB,KAAf;AATf;AALT,CAnDuB,CAAlB","sourcesContent":["import {\n COMPONENT_TYPES,\n createTextProp,\n createTextEnumProp,\n createBoolProp,\n createColorProp,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = [\n {\n name: \"TabView\",\n tag: \"TabView\",\n category: COMPONENT_TYPES.container,\n layout: {},\n props: {\n tabBarPosition: createTextEnumProp({\n label: \"Tab Bar Position\",\n description: \"Tab Bar Position\",\n options: [\"top\", \"bottom\"],\n defaultValue: \"top\",\n }),\n keyboardDismissMode: createTextEnumProp({\n label: \"Keyboard Dismiss Mode\",\n description: \"Keyboard Dismiss Mode\",\n options: [\"auto\", \"on-drag\", \"none\"],\n defaultValue: \"auto\",\n }),\n swipeEnabled: createBoolProp({\n label: \"Swipe Enabled\",\n description: \"Swipe Enabled\",\n defaultValue: true,\n }),\n scrollEnabled: createBoolProp({\n label: \"Scroll Enabled\",\n description: \"Scroll Enabled\",\n defaultValue: true,\n }),\n activeColor: createColorProp({\n label: \"Active Color\",\n description: \"Active Color\",\n defaultValue: \"primary\",\n }),\n inactiveColor: createColorProp({\n label: \"Inactive Color\",\n description: \"Inactive Color\",\n defaultValue: null,\n }),\n pressColor: createColorProp({\n label: \"Press Color\",\n description: \"Press Color\",\n defaultValue: null,\n }),\n indicatorColor: createColorProp({\n label: \"Indicator Color\",\n description: \"Indicator Color\",\n defaultValue: null,\n }),\n },\n },\n {\n name: \"TabViewItem\",\n tag: \"TabViewItem\",\n category: COMPONENT_TYPES.container,\n layout: {},\n props: {\n title: createTextProp({\n label: \"Title\",\n description: \"Tab Title\",\n }),\n id: createTextProp({\n label: \"Id\",\n description: \"Tab Id\",\n }),\n accessibilityLabel: createTextProp({\n label: \"Accessibility Label\",\n description: \"Accessibility Label\",\n }),\n },\n },\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Carousel.tsx"],"names":["React","withTheme","ScrollView","View","StyleSheet","Dimensions","Image","screenWidth","get","width","Pager","color","index","length","styles","pager","Array","from","map","_","i","current","opacity","size","bullet","backgroundColor","height","Carousel","data","children","dotColor","style","rest","setIndex","useState","Children","count","itemsLength","slides","isArray","flatten","slideWidth","slideHeight","container","nativeEvent","layoutWidth","layoutMeasurement","offset","contentOffset","x","currentIndex","Math","ceil","item","uri","child","s","props","cloneElement","create","position","bottom","left","right","flexDirection","justifyContent","alignItems","marginHorizontal","borderRadius"],"mappings":"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
|
|
1
|
+
{"version":3,"sources":["Carousel.tsx"],"names":["React","withTheme","ScrollView","View","StyleSheet","Dimensions","Image","screenWidth","get","width","Pager","color","index","length","styles","pager","Array","from","map","_","i","current","opacity","size","bullet","backgroundColor","height","Carousel","data","children","dotColor","style","rest","setIndex","useState","Children","count","itemsLength","slides","isArray","flatten","slideWidth","slideHeight","container","nativeEvent","layoutWidth","layoutMeasurement","offset","contentOffset","x","currentIndex","Math","ceil","item","uri","child","s","props","cloneElement","create","position","bottom","left","right","flexDirection","justifyContent","alignItems","marginHorizontal","borderRadius"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { withTheme } from \"../theming\";\nimport {\n ScrollView,\n View,\n StyleSheet,\n Dimensions,\n StyleProp,\n ViewStyle,\n} from \"react-native\";\nimport Image from \"./Image\";\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\ntype Props = {\n data?: any[];\n children?: React.ReactNode;\n style?: StyleProp<ViewStyle>;\n dotColor?: string;\n};\n\nfunction Pager({\n color,\n index,\n length,\n}: {\n color: string;\n index: number;\n length: number;\n}) {\n return (\n <View style={styles.pager}>\n {Array.from({ length }).map((_, i) => {\n const current = index === i;\n const opacity = current ? 1 : 0.5;\n const size = current ? 10 : 8;\n return (\n <View\n key={i}\n style={[\n styles.bullet,\n { backgroundColor: color, opacity, width: size, height: size },\n ]}\n />\n );\n })}\n </View>\n );\n}\n\nfunction Carousel({\n data,\n children,\n dotColor = \"strong\",\n style,\n ...rest\n}: Props) {\n const [index, setIndex] = React.useState(0);\n\n const length = React.Children.count(children);\n const itemsLength = (data?.length ?? 0) + length;\n const slides = Array.isArray(data) ? data : [];\n\n const { width, height } = StyleSheet.flatten(style || {});\n const slideWidth = width || screenWidth;\n const slideHeight = height || 250;\n\n return (\n <View style={[styles.container, style]} {...rest}>\n <ScrollView\n pagingEnabled\n horizontal\n decelerationRate=\"fast\"\n scrollEventThrottle={200}\n showsHorizontalScrollIndicator={false}\n onScroll={({ nativeEvent }) => {\n const layoutWidth = nativeEvent.layoutMeasurement.width;\n const offset = nativeEvent.contentOffset.x;\n const currentIndex = Math.ceil(offset / layoutWidth);\n setIndex(currentIndex);\n }}\n >\n {slides.length > 0\n ? slides.map((item, i) => {\n return (\n <Image\n key={i}\n resizeMode=\"cover\"\n source={typeof item === \"string\" ? { uri: item } : item}\n style={[{ width: slideWidth, height: slideHeight }]}\n />\n );\n })\n : null}\n {React.Children.map(children, (child: any) => {\n const s = child?.props?.style || {};\n return (\n <View style={{ width: slideWidth }}>\n {React.cloneElement(child, {\n style: { ...s, width: slideWidth },\n })}\n </View>\n );\n })}\n </ScrollView>\n <Pager color={dotColor} index={index} length={itemsLength} />\n </View>\n );\n}\n\nconst styles = StyleSheet.create({\n container: {\n backgroundColor: \"#eee\",\n },\n pager: {\n position: \"absolute\",\n bottom: 12,\n left: 0,\n right: 0,\n flexDirection: \"row\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n bullet: {\n marginHorizontal: 2,\n width: 10,\n height: 10,\n borderRadius: 20,\n backgroundColor: \"#000\",\n },\n});\n\nexport default withTheme(Carousel);\n"]}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
+
|
|
3
|
+
import * as React from "react";
|
|
4
|
+
import { TabView, TabBar, SceneMap } from "react-native-tab-view"; // import { withTheme } from "../../theming";
|
|
5
|
+
|
|
6
|
+
import TabViewItem from "./TabViewItem";
|
|
7
|
+
|
|
8
|
+
const TabViewComponent = _ref => {
|
|
9
|
+
let {
|
|
10
|
+
Icon,
|
|
11
|
+
tabBarPosition,
|
|
12
|
+
keyboardDismissMode,
|
|
13
|
+
swipeEnabled,
|
|
14
|
+
scrollEnabled,
|
|
15
|
+
activeColor,
|
|
16
|
+
inactiveColor,
|
|
17
|
+
pressColor,
|
|
18
|
+
indicatorColor,
|
|
19
|
+
style,
|
|
20
|
+
children
|
|
21
|
+
} = _ref;
|
|
22
|
+
const [index, setIndex] = React.useState(0);
|
|
23
|
+
const [routes, setRoutes] = React.useState([]);
|
|
24
|
+
const [tabScenes, setTabScenes] = React.useState({});
|
|
25
|
+
React.useEffect(() => {
|
|
26
|
+
const newRoutes = [];
|
|
27
|
+
const scenes = {};
|
|
28
|
+
React.Children.toArray(children).filter(child => child.type === TabViewItem).forEach(child => {
|
|
29
|
+
var _child$props;
|
|
30
|
+
|
|
31
|
+
if (child !== null && child !== void 0 && (_child$props = child.props) !== null && _child$props !== void 0 && _child$props.id) {
|
|
32
|
+
var _child$props2, _child$props3;
|
|
33
|
+
|
|
34
|
+
newRoutes.push({
|
|
35
|
+
key: child === null || child === void 0 ? void 0 : (_child$props2 = child.props) === null || _child$props2 === void 0 ? void 0 : _child$props2.id,
|
|
36
|
+
...(child === null || child === void 0 ? void 0 : child.props)
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
scenes[child === null || child === void 0 ? void 0 : (_child$props3 = child.props) === null || _child$props3 === void 0 ? void 0 : _child$props3.id] = () => child;
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
setRoutes(newRoutes);
|
|
43
|
+
setTabScenes(scenes);
|
|
44
|
+
}, [children]);
|
|
45
|
+
|
|
46
|
+
const indexChangeHandler = i => setIndex(i);
|
|
47
|
+
|
|
48
|
+
const renderTabBar = props => {
|
|
49
|
+
console.log(props);
|
|
50
|
+
return /*#__PURE__*/React.createElement(TabBar, _extends({}, props, {
|
|
51
|
+
activeColor: activeColor,
|
|
52
|
+
inactiveColor: inactiveColor,
|
|
53
|
+
pressColor: pressColor,
|
|
54
|
+
scrollEnabled: scrollEnabled,
|
|
55
|
+
indicatorStyle: {
|
|
56
|
+
backgroundColor: indicatorColor
|
|
57
|
+
},
|
|
58
|
+
renderIcon: _ref2 => {
|
|
59
|
+
let {
|
|
60
|
+
route,
|
|
61
|
+
color
|
|
62
|
+
} = _ref2;
|
|
63
|
+
return route !== null && route !== void 0 && route.icon ? /*#__PURE__*/React.createElement(Icon, {
|
|
64
|
+
name: route.icon,
|
|
65
|
+
color: color,
|
|
66
|
+
size: 36
|
|
67
|
+
}) : null;
|
|
68
|
+
},
|
|
69
|
+
style: style
|
|
70
|
+
}));
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
return /*#__PURE__*/React.createElement(TabView, {
|
|
74
|
+
navigationState: {
|
|
75
|
+
index,
|
|
76
|
+
routes
|
|
77
|
+
},
|
|
78
|
+
renderScene: SceneMap(tabScenes),
|
|
79
|
+
renderTabBar: renderTabBar,
|
|
80
|
+
onIndexChange: indexChangeHandler,
|
|
81
|
+
tabBarPosition: tabBarPosition,
|
|
82
|
+
keyboardDismissMode: keyboardDismissMode,
|
|
83
|
+
swipeEnabled: swipeEnabled
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
export default TabViewComponent;
|
|
88
|
+
//# sourceMappingURL=TabView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TabView.tsx"],"names":["React","TabView","TabBar","SceneMap","TabViewItem","TabViewComponent","Icon","tabBarPosition","keyboardDismissMode","swipeEnabled","scrollEnabled","activeColor","inactiveColor","pressColor","indicatorColor","style","children","index","setIndex","useState","routes","setRoutes","tabScenes","setTabScenes","useEffect","newRoutes","scenes","Children","toArray","filter","child","type","forEach","props","id","push","key","indexChangeHandler","i","renderTabBar","console","log","backgroundColor","route","color","icon"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { StyleProp, TextStyle, ViewStyle } from \"react-native\";\nimport { TabView, TabBar, SceneMap } from \"react-native-tab-view\";\n\n// import { withTheme } from \"../../theming\";\nimport TabViewItem from \"./TabViewItem\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\n\ntype TabBarPosition = \"top\" | \"bottom\";\ntype KeyboardDismissMode = \"none\" | \"auto\" | \"on-drag\";\n\ntype TabViewProps = {\n tabBarPosition?: TabBarPosition;\n keyboardDismissMode?: KeyboardDismissMode;\n swipeEnabled?: boolean;\n scrollEnabled?: boolean;\n activeColor?: string;\n inactiveColor?: string;\n pressColor?: string;\n indicatorColor?: string;\n style?: StyleProp<TextStyle | ViewStyle>;\n children: React.ReactNode;\n} & IconSlot;\n\nconst TabViewComponent = ({\n Icon,\n tabBarPosition,\n keyboardDismissMode,\n swipeEnabled,\n scrollEnabled,\n activeColor,\n inactiveColor,\n pressColor,\n indicatorColor,\n style,\n children,\n}: TabViewProps) => {\n const [index, setIndex] = React.useState(0);\n const [routes, setRoutes] = React.useState([]);\n const [tabScenes, setTabScenes] = React.useState({});\n\n React.useEffect(() => {\n const newRoutes: any = [];\n const scenes: any = {};\n\n React.Children.toArray(children)\n .filter((child: any) => child.type === TabViewItem)\n .forEach((child: any) => {\n if (child?.props?.id) {\n newRoutes.push({\n key: child?.props?.id,\n ...child?.props,\n });\n scenes[child?.props?.id] = () => child;\n }\n });\n\n setRoutes(newRoutes);\n setTabScenes(scenes);\n }, [children]);\n\n const indexChangeHandler = (i: any) => setIndex(i);\n\n const renderTabBar = (props: any) => {\n console.log(props);\n return (\n <TabBar\n {...props}\n activeColor={activeColor}\n inactiveColor={inactiveColor}\n pressColor={pressColor}\n scrollEnabled={scrollEnabled}\n indicatorStyle={{ backgroundColor: indicatorColor }}\n renderIcon={({ route, color }) =>\n route?.icon ? (\n <Icon name={route.icon} color={color} size={36} />\n ) : null\n }\n style={style}\n />\n );\n };\n\n return (\n <TabView\n navigationState={{ index, routes }}\n renderScene={SceneMap(tabScenes)}\n renderTabBar={renderTabBar}\n onIndexChange={indexChangeHandler}\n tabBarPosition={tabBarPosition}\n keyboardDismissMode={keyboardDismissMode}\n swipeEnabled={swipeEnabled}\n />\n );\n};\n\nexport default TabViewComponent;\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const TabViewItem = _ref => {
|
|
2
|
+
let {
|
|
3
|
+
title,
|
|
4
|
+
id,
|
|
5
|
+
icon,
|
|
6
|
+
children,
|
|
7
|
+
accessibilityLabel
|
|
8
|
+
} = _ref;
|
|
9
|
+
console.log({
|
|
10
|
+
title,
|
|
11
|
+
id,
|
|
12
|
+
icon,
|
|
13
|
+
accessibilityLabel
|
|
14
|
+
});
|
|
15
|
+
return children;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export default TabViewItem;
|
|
19
|
+
//# sourceMappingURL=TabViewItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["TabViewItem.tsx"],"names":["TabViewItem","title","id","icon","children","accessibilityLabel","console","log"],"mappings":"AASA,MAAMA,WAAW,GAAG,QAMI;AAAA,MANH;AACnBC,IAAAA,KADmB;AAEnBC,IAAAA,EAFmB;AAGnBC,IAAAA,IAHmB;AAInBC,IAAAA,QAJmB;AAKnBC,IAAAA;AALmB,GAMG;AACtBC,EAAAA,OAAO,CAACC,GAAR,CAAY;AAAEN,IAAAA,KAAF;AAASC,IAAAA,EAAT;AAAaC,IAAAA,IAAb;AAAmBE,IAAAA;AAAnB,GAAZ;AACA,SAAOD,QAAP;AACD,CATD;;AAWA,eAAeJ,WAAf","sourcesContent":["import React from \"react\";\ninterface TabViewItemProps {\n title: string;\n id: string;\n icon: string;\n accessibilityLabel: string;\n children: React.ReactNode;\n}\n\nconst TabViewItem = ({\n title,\n id,\n icon,\n children,\n accessibilityLabel,\n}: TabViewItemProps) => {\n console.log({ title, id, icon, accessibilityLabel });\n return children;\n};\n\nexport default TabViewItem;\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["default","TabView","TabViewItem"],"mappings":"AAAA,SAASA,OAAO,IAAIC,OAApB,QAAmC,WAAnC;AACA,SAASD,OAAO,IAAIE,WAApB,QAAuC,eAAvC","sourcesContent":["export { default as TabView } from \"./TabView\";\nexport { default as TabViewItem } from \"./TabViewItem\";\n"]}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
|
-
|
|
3
1
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
2
|
|
|
5
3
|
import * as React from "react";
|
|
@@ -186,7 +184,8 @@ class TextField extends React.Component {
|
|
|
186
184
|
roundness,
|
|
187
185
|
disabledOpacity
|
|
188
186
|
},
|
|
189
|
-
render = props => /*#__PURE__*/React.createElement(NativeTextInput, props
|
|
187
|
+
render = props => /*#__PURE__*/React.createElement(NativeTextInput, { ...props
|
|
188
|
+
}),
|
|
190
189
|
...rest
|
|
191
190
|
} = this.props;
|
|
192
191
|
const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);
|
|
@@ -337,9 +336,9 @@ class TextField extends React.Component {
|
|
|
337
336
|
} = StyleSheet.flatten(style || {});
|
|
338
337
|
return /*#__PURE__*/React.createElement(View, {
|
|
339
338
|
style: [styles.container, styleProp]
|
|
340
|
-
}, leftIconName && leftIconMode === "outset" ? /*#__PURE__*/React.createElement(Icon,
|
|
339
|
+
}, leftIconName && leftIconMode === "outset" ? /*#__PURE__*/React.createElement(Icon, { ...leftIconProps,
|
|
341
340
|
style: leftIconStyle
|
|
342
|
-
})
|
|
341
|
+
}) : null, /*#__PURE__*/React.createElement(View, {
|
|
343
342
|
style: applyStyles([containerStyle], {
|
|
344
343
|
height: style === null || style === void 0 ? void 0 : style.height,
|
|
345
344
|
backgroundColor: bgColor,
|
|
@@ -402,11 +401,11 @@ class TextField extends React.Component {
|
|
|
402
401
|
opacity: hasActiveOutline ? this.state.labeled : 1
|
|
403
402
|
}],
|
|
404
403
|
numberOfLines: 1
|
|
405
|
-
}, label)) : null, leftIconName && leftIconMode === "inset" ? /*#__PURE__*/React.createElement(Icon,
|
|
404
|
+
}, label)) : null, leftIconName && leftIconMode === "inset" ? /*#__PURE__*/React.createElement(Icon, { ...leftIconProps,
|
|
406
405
|
style: { ...leftIconStyle,
|
|
407
406
|
marginLeft: type === "solid" ? 16 : 0
|
|
408
407
|
}
|
|
409
|
-
})
|
|
408
|
+
}) : null, render({
|
|
410
409
|
ref: c => {
|
|
411
410
|
this._root = c;
|
|
412
411
|
},
|
|
@@ -467,4 +466,22 @@ const styles = StyleSheet.create({
|
|
|
467
466
|
textAlign: I18nManager.isRTL ? "right" : "left"
|
|
468
467
|
}
|
|
469
468
|
});
|
|
469
|
+
//# sourceMappingURL=TextField.js.mapute",
|
|
470
|
+
left: 0
|
|
471
|
+
},
|
|
472
|
+
underline: {
|
|
473
|
+
position: "absolute",
|
|
474
|
+
left: 0,
|
|
475
|
+
right: 0,
|
|
476
|
+
bottom: 0,
|
|
477
|
+
height: 2
|
|
478
|
+
},
|
|
479
|
+
input: {
|
|
480
|
+
flexGrow: 1,
|
|
481
|
+
justifyContent: "center",
|
|
482
|
+
textAlignVertical: "center",
|
|
483
|
+
margin: 0,
|
|
484
|
+
textAlign: I18nManager.isRTL ? "right" : "left"
|
|
485
|
+
}
|
|
486
|
+
});
|
|
470
487
|
//# sourceMappingURL=TextField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["TextField.tsx"],"names":["React","View","Animated","TextInput","NativeTextInput","StyleSheet","Text","I18nManager","withTheme","applyStyles","extractStyles","AnimatedText","createAnimatedComponent","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","TextField","Component","labeled","Value","props","value","error","focused","placeholder","labelLayout","measured","width","setTimeout","clearTimeout","_timer","setState","timing","state","toValue","duration","useNativeDriver","start","disabled","onChangeText","nativeEvent","text","undefined","getDerivedStateFromProps","nextProps","prevState","componentDidMount","defaultValue","_handleChangeText","_minmizeLabel","componentDidUpdate","prevProps","_restoreLabel","label","_showPlaceholder","_hidePlaceholder","componentWillUnmount","toggleFocus","setNativeProps","args","_root","isFocused","clear","focus","blur","render","Icon","type","leftIconName","leftIconMode","rightIconName","assistiveText","underlineColor","underlineColorProp","multiline","numberOfLines","style","theme","colors","typography","roundness","disabledOpacity","rest","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","placeholderTextColor","paddingVertical","color","paddingLeft","paddingRight","height","assistiveTextLeftMargin","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","textStyles","inputStyles","styles","input","marginHorizontal","bgColor","padding","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderCol","styleProp","flatten","container","underline","scaleY","absoluteFill","e","layout","ref","c","onChange","editable","selectionColor","onFocus","_handleFocus","onBlur","_handleBlur","underlineColorAndroid","right","create","alignSelf","bottom","flexGrow","justifyContent","textAlignVertical","margin","textAlign","isRTL"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n Animated,\n TextInput as NativeTextInput,\n StyleSheet,\n Text,\n I18nManager,\n StyleProp,\n TextInputProps,\n NativeSyntheticEvent,\n TextInputChangeEventData,\n ViewStyle,\n TextStyle,\n LayoutChangeEvent,\n ImageStyle,\n} from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\nimport { applyStyles, extractStyles } from \"../utilities\";\n\nconst AnimatedText = Animated.createAnimatedComponent(Text);\n\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\n\nexport type Props = {\n type?: \"solid\" | \"underline\";\n defaultValue?: string;\n disabled?: boolean;\n label?: string;\n error?: boolean;\n leftIconName?: string;\n leftIconMode?: \"inset\" | \"outset\";\n onChangeText: (\n text: string | NativeSyntheticEvent<TextInputChangeEventData>\n ) => void;\n rightIconName?: string;\n assistiveText?: string;\n multiline?: boolean;\n numberOfLines: number;\n underlineColor?: string;\n style?: StyleProp<ViewStyle> & { height?: number };\n theme: Theme;\n render?: (\n props: TextInputProps & { ref: (c: NativeTextInput) => void }\n ) => React.ReactNode;\n} & TextInputProps &\n IconSlot;\n\ninterface State {\n labeled: Animated.Value;\n focused?: boolean;\n placeholder?: string | undefined;\n labelLayout: {\n measured: boolean;\n width: number;\n };\n value?: string;\n}\n\nclass TextField extends React.Component<Props, State> {\n static getDerivedStateFromProps(nextProps: Props, prevState: State) {\n return {\n value:\n typeof nextProps.value !== \"undefined\"\n ? nextProps.value\n : prevState.value,\n };\n }\n\n state: State = {\n labeled: new Animated.Value(this.props.value || this.props.error ? 0 : 1),\n focused: false,\n placeholder: this.props.error ? this.props.placeholder : \"\",\n labelLayout: {\n measured: false,\n width: 0,\n },\n };\n\n componentDidMount() {\n if (this.props.defaultValue) {\n this._handleChangeText(this.props.defaultValue);\n }\n\n if (this.props.placeholder) {\n this._minmizeLabel();\n }\n }\n\n componentDidUpdate(prevProps: Props, prevState: State) {\n if (\n prevState.focused !== this.state.focused ||\n prevState.value !== this.state.value\n ) {\n // The label should be minimized if the text input is focused, or has text\n // In minimized mode, the label moves up and becomes small\n if (\n this.state.value ||\n this.state.focused ||\n this.props.error ||\n this.props.placeholder\n ) {\n this._minmizeLabel();\n } else {\n this._restoreLabel();\n }\n }\n\n if (\n prevState.focused !== this.state.focused ||\n prevProps.label !== this.props.label\n ) {\n // Show placeholder text only if the input is focused, or has error, or there's no label\n // We don't show placeholder if there's a label because the label acts as placeholder\n // When focused, the label moves up, so we can show a placeholder\n if (this.state.focused || this.props.error || !this.props.label) {\n this._showPlaceholder();\n } else {\n this._hidePlaceholder();\n }\n }\n }\n\n _timer = setTimeout(() => {}, 0);\n\n componentWillUnmount() {\n clearTimeout(this._timer);\n }\n\n _showPlaceholder = () => {\n clearTimeout(this._timer);\n\n // Set the placeholder in a delay to offset the label animation\n // If we show it immediately, they'll overlap and look ugly\n this._timer = setTimeout(\n () =>\n this.setState({\n placeholder: this.props.placeholder,\n }),\n 50\n );\n };\n\n _hidePlaceholder = () =>\n this.setState({\n placeholder: \"\",\n });\n\n _restoreLabel = () =>\n Animated.timing(this.state.labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n\n _minmizeLabel = () =>\n Animated.timing(this.state.labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n\n _handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ focused: true });\n };\n\n _handleBlur = () => {\n if (this.props.disabled) {\n return;\n }\n\n this.setState({ focused: false });\n };\n\n _handleChangeText = (\n value: NativeSyntheticEvent<TextInputChangeEventData> | string\n ) => {\n if (this.props.disabled) {\n return;\n }\n\n if (typeof value === \"string\") {\n this.setState({ value });\n this.props.onChangeText && this.props.onChangeText(value);\n } else {\n this.setState({ value: value.nativeEvent.text });\n this.props.onChangeText &&\n this.props.onChangeText(value.nativeEvent.text);\n }\n };\n\n toggleFocus() {\n this.setState((prevState: State) => ({ focused: !prevState.focused }));\n }\n\n _root: NativeTextInput | undefined = undefined;\n /**\n * @internal\n */\n setNativeProps(args: Props) {\n return this._root && this._root.setNativeProps(args);\n }\n\n isFocused() {\n return this._root && this._root.isFocused();\n }\n\n clear() {\n return this._root && this._root.clear();\n }\n\n focus() {\n return this._root && this._root.focus();\n }\n\n blur() {\n return this._root && this._root.blur();\n }\n\n render() {\n const {\n Icon,\n type = \"underline\",\n disabled = false,\n label,\n error = false,\n leftIconName,\n leftIconMode,\n rightIconName,\n assistiveText,\n underlineColor: underlineColorProp,\n multiline = false,\n numberOfLines = 4,\n style,\n theme: { colors, typography, roundness, disabledOpacity },\n render = (props) => <NativeTextInput {...props} />,\n ...rest\n } = this.props;\n\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n\n const hasActiveOutline = this.state.focused || error;\n\n let inputTextColor,\n activeColor,\n underlineColor,\n borderColor,\n placeholderColor,\n containerStyle: StyleProp<ViewStyle>,\n backgroundColor,\n inputStyle: StyleProp<TextStyle>;\n\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n } else {\n activeColor = error ? colors.error : colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = underlineColorProp;\n backgroundColor = colors.background;\n }\n\n if (rest.placeholderTextColor) {\n placeholderColor = rest.placeholderTextColor;\n }\n\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + 12 + (type === \"solid\" ? 16 : 0)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n };\n\n if (!multiline) {\n inputStyle.height = lineHeight;\n }\n\n let assistiveTextLeftMargin;\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n\n if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8;\n } else {\n assistiveTextLeftMargin = 0;\n }\n } else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: label ? 16 * 1.5 : 16,\n paddingBottom: label ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n\n if (leftIconName && leftIconMode === \"inset\") {\n assistiveTextLeftMargin = 16 + 4;\n } else if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8 + 12;\n } else {\n assistiveTextLeftMargin = 12;\n }\n\n inputStyle.paddingHorizontal = 12;\n }\n\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n\n let leftIconColor;\n if (error) {\n leftIconColor = colors.error;\n } else if (this.state.focused) {\n leftIconColor = colors.primary;\n } else {\n leftIconColor = colors.light;\n }\n\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n\n const leftIconStyle: ImageStyle = {\n position: \"absolute\",\n marginTop:\n type === \"solid\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left:\n leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (this.state.labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n\n const { textStyles } = extractStyles(style);\n const inputStyles = applyStyles(\n [\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ],\n textStyles\n );\n\n const {\n backgroundColor: bgColor,\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderColor: borderCol,\n ...styleProp\n } = StyleSheet.flatten(style || {}) as ViewStyle & { height?: number };\n\n return (\n <View style={[styles.container, styleProp]}>\n {leftIconName && leftIconMode === \"outset\" ? (\n <Icon {...leftIconProps} style={leftIconStyle} />\n ) : null}\n <View\n style={applyStyles([containerStyle], {\n height: style?.height,\n backgroundColor: bgColor,\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderColor: borderCol,\n })}\n >\n {type === \"underline\" ? (\n // When type === 'flat', render an underline\n <Animated.View\n style={[\n styles.underline,\n {\n backgroundColor:\n bgColor ||\n (error\n ? colors.error\n : this.state.focused\n ? activeColor\n : underlineColor),\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: this.state.focused ? 1 : 0.5 }],\n },\n ]}\n />\n ) : null}\n\n {label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n <View\n pointerEvents=\"none\"\n style={[\n StyleSheet.absoluteFill,\n {\n opacity:\n // Hide the label in minimized state until we measure its width\n this.state.value || this.state.focused\n ? this.state.labelLayout.measured\n ? 1\n : 0\n : 1,\n },\n ]}\n >\n <AnimatedText\n onLayout={(e: LayoutChangeEvent) =>\n this.setState({\n labelLayout: {\n width: e.nativeEvent.layout.width,\n measured: true,\n },\n })\n }\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n <AnimatedText\n style={[\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? this.state.labeled : 1,\n },\n ]}\n numberOfLines={1}\n >\n {label}\n </AnimatedText>\n </View>\n ) : null}\n\n {leftIconName && leftIconMode === \"inset\" ? (\n <Icon\n {...leftIconProps}\n style={{\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n }}\n />\n ) : null}\n\n {render({\n ref: (c: NativeTextInput) => {\n this._root = c;\n },\n onChange: this._handleChangeText,\n placeholder: label\n ? this.state.placeholder\n : this.props.placeholder,\n placeholderTextColor: placeholderColor,\n editable: !disabled,\n selectionColor: activeColor,\n multiline,\n numberOfLines,\n onFocus: this._handleFocus,\n onBlur: this._handleBlur,\n underlineColorAndroid: \"transparent\",\n style: inputStyles,\n ...rest,\n value: this.state.value,\n })}\n </View>\n {rightIconName ? (\n <Icon\n name={rightIconName}\n size={ICON_SIZE}\n color={colors.light}\n style={{\n position: \"absolute\",\n right: 16,\n marginTop: type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n }}\n />\n ) : null}\n\n {assistiveText ? (\n <Text\n style={[\n {\n color: error ? colors.error : colors.light,\n marginTop: 8,\n marginLeft: assistiveTextLeftMargin,\n },\n ]}\n >\n {assistiveText}\n </Text>\n ) : null}\n </View>\n );\n }\n}\n\nexport default withTheme(TextField);\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n});\n"]}
|
|
1
|
+
{"version":3,"sources":["TextField.js"],"names":["React","View","Animated","TextInput","NativeTextInput","StyleSheet","Text","I18nManager","withTheme","applyStyles","extractStyles","AnimatedText","createAnimatedComponent","FOCUS_ANIMATION_DURATION","BLUR_ANIMATION_DURATION","ICON_SIZE","TextField","Component","labeled","Value","props","value","error","focused","placeholder","labelLayout","measured","width","setTimeout","clearTimeout","_timer","setState","timing","state","toValue","duration","useNativeDriver","start","disabled","onChangeText","nativeEvent","text","undefined","getDerivedStateFromProps","nextProps","prevState","componentDidMount","defaultValue","_handleChangeText","_minmizeLabel","componentDidUpdate","prevProps","_restoreLabel","label","_showPlaceholder","_hidePlaceholder","componentWillUnmount","toggleFocus","setNativeProps","args","_root","isFocused","clear","focus","blur","render","Icon","type","leftIconName","leftIconMode","rightIconName","assistiveText","underlineColor","underlineColorProp","multiline","numberOfLines","style","theme","colors","typography","roundness","disabledOpacity","createElement","rest","MINIMIZED_LABEL_Y_OFFSET","caption","lineHeight","OUTLINE_MINIMIZED_LABEL_Y_OFFSET","MAXIMIZED_LABEL_FONT_SIZE","subtitle1","fontSize","MINIMIZED_LABEL_FONT_SIZE","hasActiveOutline","inputTextColor","activeColor","borderColor","placeholderColor","containerStyle","backgroundColor","inputStyle","strong","light","divider","primary","background","placeholderTextColor","paddingVertical","color","paddingLeft","paddingRight","height","assistiveTextLeftMargin","borderTopLeftRadius","borderTopRightRadius","paddingBottom","marginTop","borderRadius","borderWidth","paddingTop","opacity","paddingHorizontal","marginLeft","leftIconColor","leftIconProps","size","name","leftIconStyle","position","labelStyle","top","left","transform","translateY","interpolate","inputRange","outputRange","scale","translateX","textStyles","inputStyles","styles","input","marginHorizontal","bgColor","padding","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderCol","styleProp","flatten","container","underline","scaleY","pointerEvents","absoluteFill","onLayout","e","layout","ref","c","onChange","editable","selectionColor","onFocus","_handleFocus","onBlur","_handleBlur","underlineColorAndroid","right","create","alignSelf","bottom","flexGrow","justifyContent","textAlignVertical","margin","textAlign","isRTL"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { View, Animated, TextInput as NativeTextInput, StyleSheet, Text, I18nManager, } from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport { applyStyles, extractStyles } from \"../utilities\";\nconst AnimatedText = Animated.createAnimatedComponent(Text);\nconst FOCUS_ANIMATION_DURATION = 150;\nconst BLUR_ANIMATION_DURATION = 180;\nconst ICON_SIZE = 24;\nclass TextField extends React.Component {\n static getDerivedStateFromProps(nextProps, prevState) {\n return {\n value: typeof nextProps.value !== \"undefined\"\n ? nextProps.value\n : prevState.value,\n };\n }\n state = {\n labeled: new Animated.Value(this.props.value || this.props.error ? 0 : 1),\n focused: false,\n placeholder: this.props.error ? this.props.placeholder : \"\",\n labelLayout: {\n measured: false,\n width: 0,\n },\n };\n componentDidMount() {\n if (this.props.defaultValue) {\n this._handleChangeText(this.props.defaultValue);\n }\n if (this.props.placeholder) {\n this._minmizeLabel();\n }\n }\n componentDidUpdate(prevProps, prevState) {\n if (prevState.focused !== this.state.focused ||\n prevState.value !== this.state.value) {\n // The label should be minimized if the text input is focused, or has text\n // In minimized mode, the label moves up and becomes small\n if (this.state.value ||\n this.state.focused ||\n this.props.error ||\n this.props.placeholder) {\n this._minmizeLabel();\n }\n else {\n this._restoreLabel();\n }\n }\n if (prevState.focused !== this.state.focused ||\n prevProps.label !== this.props.label) {\n // Show placeholder text only if the input is focused, or has error, or there's no label\n // We don't show placeholder if there's a label because the label acts as placeholder\n // When focused, the label moves up, so we can show a placeholder\n if (this.state.focused || this.props.error || !this.props.label) {\n this._showPlaceholder();\n }\n else {\n this._hidePlaceholder();\n }\n }\n }\n _timer = setTimeout(() => { }, 0);\n componentWillUnmount() {\n clearTimeout(this._timer);\n }\n _showPlaceholder = () => {\n clearTimeout(this._timer);\n // Set the placeholder in a delay to offset the label animation\n // If we show it immediately, they'll overlap and look ugly\n this._timer = setTimeout(() => this.setState({\n placeholder: this.props.placeholder,\n }), 50);\n };\n _hidePlaceholder = () => this.setState({\n placeholder: \"\",\n });\n _restoreLabel = () => Animated.timing(this.state.labeled, {\n toValue: 1,\n duration: FOCUS_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n _minmizeLabel = () => Animated.timing(this.state.labeled, {\n toValue: 0,\n duration: BLUR_ANIMATION_DURATION,\n useNativeDriver: true,\n }).start();\n _handleFocus = () => {\n if (this.props.disabled) {\n return;\n }\n this.setState({ focused: true });\n };\n _handleBlur = () => {\n if (this.props.disabled) {\n return;\n }\n this.setState({ focused: false });\n };\n _handleChangeText = (value) => {\n if (this.props.disabled) {\n return;\n }\n if (typeof value === \"string\") {\n this.setState({ value });\n this.props.onChangeText && this.props.onChangeText(value);\n }\n else {\n this.setState({ value: value.nativeEvent.text });\n this.props.onChangeText &&\n this.props.onChangeText(value.nativeEvent.text);\n }\n };\n toggleFocus() {\n this.setState((prevState) => ({ focused: !prevState.focused }));\n }\n _root = undefined;\n /**\n * @internal\n */\n setNativeProps(args) {\n return this._root && this._root.setNativeProps(args);\n }\n isFocused() {\n return this._root && this._root.isFocused();\n }\n clear() {\n return this._root && this._root.clear();\n }\n focus() {\n return this._root && this._root.focus();\n }\n blur() {\n return this._root && this._root.blur();\n }\n render() {\n const { Icon, type = \"underline\", disabled = false, label, error = false, leftIconName, leftIconMode, rightIconName, assistiveText, underlineColor: underlineColorProp, multiline = false, numberOfLines = 4, style, theme: { colors, typography, roundness, disabledOpacity }, render = (props) => React.createElement(NativeTextInput, { ...props }), ...rest } = this.props;\n const MINIMIZED_LABEL_Y_OFFSET = -(typography.caption.lineHeight + 4);\n const OUTLINE_MINIMIZED_LABEL_Y_OFFSET = -(16 * 0.5 + 4);\n const MAXIMIZED_LABEL_FONT_SIZE = typography.subtitle1.fontSize;\n const MINIMIZED_LABEL_FONT_SIZE = typography.caption.fontSize;\n const hasActiveOutline = this.state.focused || error;\n let inputTextColor, activeColor, underlineColor, borderColor, placeholderColor, containerStyle, backgroundColor, inputStyle;\n inputTextColor = colors.strong;\n if (disabled) {\n activeColor = colors.light;\n placeholderColor = colors.light;\n borderColor = \"transparent\";\n underlineColor = \"transparent\";\n backgroundColor = colors.divider;\n }\n else {\n activeColor = error ? colors.error : colors.primary;\n placeholderColor = borderColor = colors.light;\n underlineColor = underlineColorProp;\n backgroundColor = colors.background;\n }\n if (rest.placeholderTextColor) {\n placeholderColor = rest.placeholderTextColor;\n }\n const { lineHeight, ...subtitle1 } = typography.subtitle1;\n inputStyle = {\n paddingVertical: 0,\n color: inputTextColor,\n paddingLeft: leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + 12 + (type === \"solid\" ? 16 : 0)\n : 0,\n paddingRight: rightIconName ? ICON_SIZE + 16 + 4 : 12,\n ...subtitle1,\n };\n if (!multiline) {\n inputStyle.height = lineHeight;\n }\n let assistiveTextLeftMargin;\n if (type === \"underline\") {\n containerStyle = {\n borderTopLeftRadius: roundness,\n borderTopRightRadius: roundness,\n paddingBottom: 12,\n marginTop: 16,\n };\n if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8;\n }\n else {\n assistiveTextLeftMargin = 0;\n }\n }\n else {\n containerStyle = {\n borderRadius: roundness,\n borderColor: hasActiveOutline ? activeColor : borderColor,\n borderWidth: 1,\n paddingTop: label ? 16 * 1.5 : 16,\n paddingBottom: label ? 16 * 0.5 : 16,\n opacity: disabled ? disabledOpacity : 1,\n backgroundColor,\n };\n if (leftIconName && leftIconMode === \"inset\") {\n assistiveTextLeftMargin = 16 + 4;\n }\n else if (leftIconName && leftIconMode === \"outset\") {\n assistiveTextLeftMargin = ICON_SIZE + 8 + 12;\n }\n else {\n assistiveTextLeftMargin = 12;\n }\n inputStyle.paddingHorizontal = 12;\n }\n if (leftIconName && leftIconMode === \"outset\") {\n containerStyle.marginLeft = ICON_SIZE + 8;\n }\n let leftIconColor;\n if (error) {\n leftIconColor = colors.error;\n }\n else if (this.state.focused) {\n leftIconColor = colors.primary;\n }\n else {\n leftIconColor = colors.light;\n }\n const leftIconProps = {\n size: 24,\n color: leftIconColor,\n name: leftIconName || \"\",\n };\n const leftIconStyle = {\n position: \"absolute\",\n marginTop: type === \"solid\"\n ? MINIMIZED_LABEL_FONT_SIZE + 4\n : leftIconMode === \"outset\"\n ? 16\n : 0,\n };\n const labelStyle = {\n ...typography.subtitle1,\n top: type === \"solid\" ? 16 : 0,\n left: leftIconName && leftIconMode === \"inset\"\n ? ICON_SIZE + (type === \"solid\" ? 16 : 12)\n : 0,\n transform: [\n {\n // Move label to top\n translateY: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n type === \"solid\"\n ? OUTLINE_MINIMIZED_LABEL_Y_OFFSET\n : MINIMIZED_LABEL_Y_OFFSET,\n 0,\n ],\n }),\n },\n {\n // Make label smaller\n scale: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE,\n 1,\n ],\n }),\n },\n {\n // Offset label scale since RN doesn't support transform origin\n translateX: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [\n -(1 - MINIMIZED_LABEL_FONT_SIZE / MAXIMIZED_LABEL_FONT_SIZE) *\n (this.state.labelLayout.width / 2),\n 0,\n ],\n }),\n },\n ],\n };\n const { textStyles } = extractStyles(style);\n const inputStyles = applyStyles([\n styles.input,\n inputStyle,\n type === \"solid\" ? { marginHorizontal: 12 } : {},\n ], textStyles);\n const { backgroundColor: bgColor, padding, paddingTop, paddingBottom, paddingLeft, paddingRight, borderRadius, borderWidth, borderTopWidth, borderRightWidth, borderBottomWidth, borderLeftWidth, borderColor: borderCol, ...styleProp } = StyleSheet.flatten(style || {});\n return (React.createElement(View, { style: [styles.container, styleProp] },\n leftIconName && leftIconMode === \"outset\" ? (React.createElement(Icon, { ...leftIconProps, style: leftIconStyle })) : null,\n React.createElement(View, { style: applyStyles([containerStyle], {\n height: style?.height,\n backgroundColor: bgColor,\n padding,\n paddingTop,\n paddingBottom,\n paddingLeft,\n paddingRight,\n borderRadius,\n borderWidth,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderColor: borderCol,\n }) },\n type === \"underline\" ? (\n // When type === 'flat', render an underline\n React.createElement(Animated.View, { style: [\n styles.underline,\n {\n backgroundColor: bgColor ||\n (error\n ? colors.error\n : this.state.focused\n ? activeColor\n : underlineColor),\n // Underlines is thinner when input is not focused\n transform: [{ scaleY: this.state.focused ? 1 : 0.5 }],\n },\n ] })) : null,\n label ? (\n // Position colored placeholder and gray placeholder on top of each other and crossfade them\n // This gives the effect of animating the color, but allows us to use native driver\n React.createElement(View, { pointerEvents: \"none\", style: [\n StyleSheet.absoluteFill,\n {\n opacity: \n // Hide the label in minimized state until we measure its width\n this.state.value || this.state.focused\n ? this.state.labelLayout.measured\n ? 1\n : 0\n : 1,\n },\n ] },\n React.createElement(AnimatedText, { onLayout: (e) => this.setState({\n labelLayout: {\n width: e.nativeEvent.layout.width,\n measured: true,\n },\n }), style: [\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: this.state.labeled.interpolate({\n inputRange: [0, 1],\n outputRange: [hasActiveOutline ? 1 : 0, 0],\n }),\n },\n ], numberOfLines: 1 }, label),\n React.createElement(AnimatedText, { style: [\n styles.placeholder,\n type === \"solid\" ? { paddingHorizontal: 12 } : {},\n labelStyle,\n {\n color: placeholderColor,\n opacity: hasActiveOutline ? this.state.labeled : 1,\n },\n ], numberOfLines: 1 }, label))) : null,\n leftIconName && leftIconMode === \"inset\" ? (React.createElement(Icon, { ...leftIconProps, style: {\n ...leftIconStyle,\n marginLeft: type === \"solid\" ? 16 : 0,\n } })) : null,\n render({\n ref: (c) => {\n this._root = c;\n },\n onChange: this._handleChangeText,\n placeholder: label\n ? this.state.placeholder\n : this.props.placeholder,\n placeholderTextColor: placeholderColor,\n editable: !disabled,\n selectionColor: activeColor,\n multiline,\n numberOfLines,\n onFocus: this._handleFocus,\n onBlur: this._handleBlur,\n underlineColorAndroid: \"transparent\",\n style: inputStyles,\n ...rest,\n value: this.state.value,\n })),\n rightIconName ? (React.createElement(Icon, { name: rightIconName, size: ICON_SIZE, color: colors.light, style: {\n position: \"absolute\",\n right: 16,\n marginTop: type === \"solid\" ? MINIMIZED_LABEL_FONT_SIZE + 4 : 16,\n } })) : null,\n assistiveText ? (React.createElement(Text, { style: [\n {\n color: error ? colors.error : colors.light,\n marginTop: 8,\n marginLeft: assistiveTextLeftMargin,\n },\n ] }, assistiveText)) : null));\n }\n}\nexport default withTheme(TextField);\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n placeholder: {\n position: \"absolute\",\n left: 0,\n },\n underline: {\n position: \"absolute\",\n left: 0,\n right: 0,\n bottom: 0,\n height: 2,\n },\n input: {\n flexGrow: 1,\n justifyContent: \"center\",\n textAlignVertical: \"center\",\n margin: 0,\n textAlign: I18nManager.isRTL ? \"right\" : \"left\",\n },\n});\n"]}
|
package/lib/module/index.js
CHANGED
|
@@ -27,6 +27,7 @@ export { default as Touchable } from "./components/Touchable";
|
|
|
27
27
|
export { AccordionGroup, AccordionItem } from "./components/Accordion";
|
|
28
28
|
export { ActionSheet, ActionSheetItem, ActionSheetCancel } from "./components/ActionSheet";
|
|
29
29
|
export { Swiper, SwiperItem } from "./components/Swiper";
|
|
30
|
+
export { TabView, TabViewItem } from "./components/TabView";
|
|
30
31
|
export { Center, Circle, Square, Row, Stack, Spacer } from "./components/Layout";
|
|
31
32
|
export { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup } from "./components/RadioButton/index";
|
|
32
33
|
/* Deprecated: Fix or Delete! */
|