expo-snowui 1.0.0

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.
Files changed (73) hide show
  1. package/LICENSE.txt +674 -0
  2. package/README.md +16 -0
  3. package/lib/module/component/snow-break.js +15 -0
  4. package/lib/module/component/snow-break.js.map +1 -0
  5. package/lib/module/component/snow-dropdown.js +66 -0
  6. package/lib/module/component/snow-dropdown.js.map +1 -0
  7. package/lib/module/component/snow-fill-view.js +40 -0
  8. package/lib/module/component/snow-fill-view.js.map +1 -0
  9. package/lib/module/component/snow-grid.js +70 -0
  10. package/lib/module/component/snow-grid.js.map +1 -0
  11. package/lib/module/component/snow-header.js +20 -0
  12. package/lib/module/component/snow-header.js.map +1 -0
  13. package/lib/module/component/snow-image-button.js +98 -0
  14. package/lib/module/component/snow-image-button.js.map +1 -0
  15. package/lib/module/component/snow-image-grid.js +84 -0
  16. package/lib/module/component/snow-image-grid.js.map +1 -0
  17. package/lib/module/component/snow-input.js +51 -0
  18. package/lib/module/component/snow-input.js.map +1 -0
  19. package/lib/module/component/snow-label.js +20 -0
  20. package/lib/module/component/snow-label.js.map +1 -0
  21. package/lib/module/component/snow-modal.js +49 -0
  22. package/lib/module/component/snow-modal.js.map +1 -0
  23. package/lib/module/component/snow-range-slider.js +247 -0
  24. package/lib/module/component/snow-range-slider.js.map +1 -0
  25. package/lib/module/component/snow-safe-area.js +22 -0
  26. package/lib/module/component/snow-safe-area.js.map +1 -0
  27. package/lib/module/component/snow-tabs.js +62 -0
  28. package/lib/module/component/snow-tabs.js.map +1 -0
  29. package/lib/module/component/snow-text-button.js +102 -0
  30. package/lib/module/component/snow-text-button.js.map +1 -0
  31. package/lib/module/component/snow-text.js +34 -0
  32. package/lib/module/component/snow-text.js.map +1 -0
  33. package/lib/module/component/snow-toggle.js +38 -0
  34. package/lib/module/component/snow-toggle.js.map +1 -0
  35. package/lib/module/context/snow-focus-context.js +39 -0
  36. package/lib/module/context/snow-focus-context.js.map +1 -0
  37. package/lib/module/context/snow-style-context.js +54 -0
  38. package/lib/module/context/snow-style-context.js.map +1 -0
  39. package/lib/module/index.js +63 -0
  40. package/lib/module/index.js.map +1 -0
  41. package/lib/module/package.json +1 -0
  42. package/lib/module/snow-app.js +40 -0
  43. package/lib/module/snow-app.js.map +1 -0
  44. package/lib/module/snow-style.js +392 -0
  45. package/lib/module/snow-style.js.map +1 -0
  46. package/lib/module/snow-ui.js +19 -0
  47. package/lib/module/snow-ui.js.map +1 -0
  48. package/lib/typescript/package.json +1 -0
  49. package/lib/typescript/src/index.d.ts +42 -0
  50. package/lib/typescript/src/index.d.ts.map +1 -0
  51. package/package.json +163 -0
  52. package/src/component/snow-break.js +9 -0
  53. package/src/component/snow-dropdown.js +64 -0
  54. package/src/component/snow-fill-view.js +36 -0
  55. package/src/component/snow-grid.js +74 -0
  56. package/src/component/snow-header.js +18 -0
  57. package/src/component/snow-image-button.js +98 -0
  58. package/src/component/snow-image-grid.js +87 -0
  59. package/src/component/snow-input.js +47 -0
  60. package/src/component/snow-label.js +18 -0
  61. package/src/component/snow-modal.js +46 -0
  62. package/src/component/snow-range-slider.js +263 -0
  63. package/src/component/snow-safe-area.js +17 -0
  64. package/src/component/snow-tabs.js +62 -0
  65. package/src/component/snow-text-button.js +106 -0
  66. package/src/component/snow-text.js +31 -0
  67. package/src/component/snow-toggle.js +32 -0
  68. package/src/context/snow-focus-context.js +37 -0
  69. package/src/context/snow-style-context.js +46 -0
  70. package/src/index.tsx +63 -0
  71. package/src/snow-app.js +27 -0
  72. package/src/snow-style.js +399 -0
  73. package/src/snow-ui.js +16 -0
package/README.md ADDED
@@ -0,0 +1,16 @@
1
+ # expo-snowui
2
+
3
+ GUI components and contexts shared by the snowsuite apps
4
+
5
+ ## Installation
6
+
7
+
8
+ ```sh
9
+ npm install expo-snowui
10
+ ```
11
+
12
+ Note that your app needs to use `react-native-tvos` as a dep, not `react-native`.
13
+
14
+
15
+ ## Usage
16
+ See the example app for how the components work.
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ import { View } from 'react-native';
4
+ import { useStyleContext } from "../context/snow-style-context.js";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export function SnowBreak(props) {
7
+ const {
8
+ SnowStyle
9
+ } = useStyleContext(props);
10
+ return /*#__PURE__*/_jsx(View, {
11
+ style: SnowStyle.component.break
12
+ });
13
+ }
14
+ export default SnowBreak;
15
+ //# sourceMappingURL=snow-break.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","useStyleContext","jsx","_jsx","SnowBreak","props","SnowStyle","style","component","break"],"sourceRoot":"../../../src","sources":["component/snow-break.js"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,SAASC,eAAe,QAAQ,kCAA+B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE/D,OAAO,SAASC,SAASA,CAACC,KAAK,EAAE;EAC7B,MAAM;IAAEC;EAAU,CAAC,GAAGL,eAAe,CAACI,KAAK,CAAC;EAC5C,oBAAOF,IAAA,CAACH,IAAI;IAACO,KAAK,EAAED,SAAS,CAACE,SAAS,CAACC;EAAM,CAAE,CAAC;AACrD;AAEA,eAAeL,SAAS","ignoreList":[]}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+
3
+ import { View } from 'react-native';
4
+ import SnowGrid from "./snow-grid.js";
5
+ import SnowTextButton from "./snow-text-button.js";
6
+ import SnowLabel from "./snow-label.js";
7
+
8
+ /* spread props
9
+ nextFocusLeft
10
+ nextFocusRight
11
+ nextFocusUp
12
+ nextFocusDown
13
+ snowStyle
14
+ */
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ export function SnowDropdown(props) {
17
+ if (!props.options) {
18
+ return null;
19
+ }
20
+ if (props.valueIndex === undefined || props.valueIndex === null) {
21
+ return null;
22
+ }
23
+ const choose = chosenIndex => {
24
+ if (props.onValueChange) {
25
+ props.onValueChange(chosenIndex);
26
+ }
27
+ };
28
+ const renderItem = (item, itemIndex) => {
29
+ let selected = false;
30
+ if (!props.skipDefaultFocus) {
31
+ if (itemIndex === props.valueIndex) {
32
+ selected = true;
33
+ }
34
+ }
35
+ return /*#__PURE__*/_jsx(SnowTextButton, {
36
+ ...props,
37
+ fade: selected && props.fade,
38
+ selected: selected,
39
+ title: item.name ? item.name : item,
40
+ onPress: () => {
41
+ choose(item.index ? item.index : itemIndex);
42
+ }
43
+ });
44
+ };
45
+ if (props.title) {
46
+ return /*#__PURE__*/_jsxs(View, {
47
+ children: [/*#__PURE__*/_jsx(SnowLabel, {
48
+ center: true,
49
+ children: props.title
50
+ }), /*#__PURE__*/_jsx(SnowGrid, {
51
+ shouldFocus: props.shouldFocus,
52
+ itemsPerRow: props.itemsPerRow,
53
+ items: props.options,
54
+ renderItem: renderItem
55
+ })]
56
+ });
57
+ }
58
+ return /*#__PURE__*/_jsx(SnowGrid, {
59
+ shouldFocus: props.shouldFocus,
60
+ itemsPerRow: props.itemsPerRow,
61
+ items: props.options,
62
+ renderItem: renderItem
63
+ });
64
+ }
65
+ export default SnowDropdown;
66
+ //# sourceMappingURL=snow-dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","SnowGrid","SnowTextButton","SnowLabel","jsx","_jsx","jsxs","_jsxs","SnowDropdown","props","options","valueIndex","undefined","choose","chosenIndex","onValueChange","renderItem","item","itemIndex","selected","skipDefaultFocus","fade","title","name","onPress","index","children","center","shouldFocus","itemsPerRow","items"],"sourceRoot":"../../../src","sources":["component/snow-dropdown.js"],"mappings":";;AAAA,SAASA,IAAI,QAAQ,cAAc;AACnC,OAAOC,QAAQ,MAAM,gBAAa;AAClC,OAAOC,cAAc,MAAM,uBAAoB;AAC/C,OAAOC,SAAS,MAAM,iBAAc;;AAEpC;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQA,OAAO,SAASC,YAAYA,CAACC,KAAK,EAAE;EAChC,IAAI,CAACA,KAAK,CAACC,OAAO,EAAE;IAChB,OAAO,IAAI;EACf;EACA,IAAID,KAAK,CAACE,UAAU,KAAKC,SAAS,IAAIH,KAAK,CAACE,UAAU,KAAK,IAAI,EAAE;IAC7D,OAAO,IAAI;EACf;EAEA,MAAME,MAAM,GAAIC,WAAW,IAAK;IAC5B,IAAIL,KAAK,CAACM,aAAa,EAAE;MACrBN,KAAK,CAACM,aAAa,CAACD,WAAW,CAAC;IACpC;EACJ,CAAC;EAED,MAAME,UAAU,GAAGA,CAACC,IAAI,EAAEC,SAAS,KAAK;IACpC,IAAIC,QAAQ,GAAG,KAAK;IACpB,IAAI,CAACV,KAAK,CAACW,gBAAgB,EAAE;MACzB,IAAIF,SAAS,KAAKT,KAAK,CAACE,UAAU,EAAE;QAChCQ,QAAQ,GAAG,IAAI;MACnB;IACJ;IACA,oBAAOd,IAAA,CAACH,cAAc;MAAA,GACdO,KAAK;MACTY,IAAI,EAAEF,QAAQ,IAAIV,KAAK,CAACY,IAAK;MAC7BF,QAAQ,EAAEA,QAAS;MACnBG,KAAK,EAAEL,IAAI,CAACM,IAAI,GAAGN,IAAI,CAACM,IAAI,GAAGN,IAAK;MACpCO,OAAO,EAAEA,CAAA,KAAM;QAAEX,MAAM,CAACI,IAAI,CAACQ,KAAK,GAAGR,IAAI,CAACQ,KAAK,GAAGP,SAAS,CAAC;MAAC;IAAE,CAAE,CAAC;EAC1E,CAAC;EAED,IAAIT,KAAK,CAACa,KAAK,EAAE;IACb,oBAAOf,KAAA,CAACP,IAAI;MAAA0B,QAAA,gBACRrB,IAAA,CAACF,SAAS;QAACwB,MAAM;QAAAD,QAAA,EAAEjB,KAAK,CAACa;MAAK,CAAY,CAAC,eAC3CjB,IAAA,CAACJ,QAAQ;QACL2B,WAAW,EAAEnB,KAAK,CAACmB,WAAY;QAC/BC,WAAW,EAAEpB,KAAK,CAACoB,WAAY;QAC/BC,KAAK,EAAErB,KAAK,CAACC,OAAQ;QACrBM,UAAU,EAAEA;MAAW,CAC1B,CAAC;IAAA,CACA,CAAC;EACX;EACA,oBACIX,IAAA,CAACJ,QAAQ;IACL2B,WAAW,EAAEnB,KAAK,CAACmB,WAAY;IAC/BC,WAAW,EAAEpB,KAAK,CAACoB,WAAY;IAC/BC,KAAK,EAAErB,KAAK,CAACC,OAAQ;IACrBM,UAAU,EAAEA;EAAW,CAC1B,CAAC;AAEV;AAEA,eAAeR,YAAY","ignoreList":[]}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ import { ScrollView, View } from 'react-native';
4
+ import { useStyleContext } from "../context/snow-style-context.js";
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ export function SnowFillView(props) {
7
+ // FlatList often overflows outside of the viewport without enabling scrolling.
8
+ // This commonly happens when any parent container is not set to flex: 1
9
+ const {
10
+ SnowStyle
11
+ } = useStyleContext(props);
12
+ if (props.scroll) {
13
+ let viewStyle = [SnowStyle.component.fillView.default];
14
+ let scrollStyle = [];
15
+ if (props.flexStart) {
16
+ scrollStyle = [SnowStyle.component.fillView.flexStart];
17
+ }
18
+ if (props.style) {
19
+ viewStyle.push(props.style);
20
+ }
21
+ return /*#__PURE__*/_jsx(ScrollView, {
22
+ style: viewStyle,
23
+ contentContainerStyle: scrollStyle,
24
+ children: props.children
25
+ });
26
+ }
27
+ let style = [SnowStyle.component.fillView.default];
28
+ if (props.flexStart) {
29
+ style.push(SnowStyle.component.fillView.flexStart);
30
+ }
31
+ if (props.style) {
32
+ style.push(props.style);
33
+ }
34
+ return /*#__PURE__*/_jsx(View, {
35
+ style: style,
36
+ children: props.children
37
+ });
38
+ }
39
+ export default SnowFillView;
40
+ //# sourceMappingURL=snow-fill-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ScrollView","View","useStyleContext","jsx","_jsx","SnowFillView","props","SnowStyle","scroll","viewStyle","component","fillView","default","scrollStyle","flexStart","style","push","contentContainerStyle","children"],"sourceRoot":"../../../src","sources":["component/snow-fill-view.js"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC/C,SAASC,eAAe,QAAQ,kCAA+B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE/D,OAAO,SAASC,YAAYA,CAACC,KAAK,EAAE;EAChC;EACA;EACA,MAAM;IAAEC;EAAU,CAAC,GAAGL,eAAe,CAACI,KAAK,CAAC;EAC5C,IAAIA,KAAK,CAACE,MAAM,EAAE;IACd,IAAIC,SAAS,GAAG,CAACF,SAAS,CAACG,SAAS,CAACC,QAAQ,CAACC,OAAO,CAAC;IACtD,IAAIC,WAAW,GAAG,EAAE;IACpB,IAAIP,KAAK,CAACQ,SAAS,EAAE;MACjBD,WAAW,GAAG,CAACN,SAAS,CAACG,SAAS,CAACC,QAAQ,CAACG,SAAS,CAAC;IAC1D;IACA,IAAIR,KAAK,CAACS,KAAK,EAAE;MACbN,SAAS,CAACO,IAAI,CAACV,KAAK,CAACS,KAAK,CAAC;IAC/B;IACA,oBAAOX,IAAA,CAACJ,UAAU;MACde,KAAK,EAAEN,SAAU;MACjBQ,qBAAqB,EAAEJ,WAAY;MACnCK,QAAQ,EAAEZ,KAAK,CAACY;IAAS,CAC5B,CAAC;EACN;EAEA,IAAIH,KAAK,GAAG,CAACR,SAAS,CAACG,SAAS,CAACC,QAAQ,CAACC,OAAO,CAAC;EAClD,IAAIN,KAAK,CAACQ,SAAS,EAAE;IACjBC,KAAK,CAACC,IAAI,CAACT,SAAS,CAACG,SAAS,CAACC,QAAQ,CAACG,SAAS,CAAC;EACtD;EACA,IAAIR,KAAK,CAACS,KAAK,EAAE;IACbA,KAAK,CAACC,IAAI,CAACV,KAAK,CAACS,KAAK,CAAC;EAC3B;EACA,oBACIX,IAAA,CAACH,IAAI;IAACc,KAAK,EAAEA,KAAM;IAACG,QAAQ,EAAEZ,KAAK,CAACY;EAAS,CAAE,CAAC;AAExD;AAEA,eAAeb,YAAY","ignoreList":[]}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View, FlatList } from 'react-native';
5
+ import { useStyleContext } from "../context/snow-style-context.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export function SnowGrid(props) {
8
+ if (!props.items && !props.children) {
9
+ return null;
10
+ }
11
+ let items = props.items;
12
+ if (!props.items) {
13
+ // Without this, if a ternary `{x?x:null}` nullable component will leave a gap in the grid
14
+ items = React.Children.toArray(props.children);
15
+ }
16
+ items = items.filter(child => child !== null);
17
+ if (!items || !items.length) {
18
+ return null;
19
+ }
20
+ const {
21
+ SnowStyle
22
+ } = useStyleContext(props);
23
+ let itemsPerRow = 5;
24
+ if (props.itemsPerRow) {
25
+ itemsPerRow = props.itemsPerRow;
26
+ }
27
+ let itemStyle = [{
28
+ flexBasis: `${100 / itemsPerRow}%`
29
+ }];
30
+ let gridStyle = [];
31
+ if (props.gridStyle) {
32
+ gridStyle.push(props.gridStyle);
33
+ }
34
+ if (props.short) {
35
+ gridStyle.push(SnowStyle.component.grid.short);
36
+ }
37
+ let renderItem = (item, itemIndex) => {
38
+ return item;
39
+ };
40
+ if (props.renderItem) {
41
+ renderItem = props.renderItem;
42
+ }
43
+ let columnStyle = null;
44
+ if (itemsPerRow > 1) {
45
+ // If you try to style the column when 1 item per row, flat list throws an error
46
+ columnStyle = SnowStyle.component.grid.list;
47
+ }
48
+ return /*#__PURE__*/_jsx(View, {
49
+ style: gridStyle,
50
+ children: /*#__PURE__*/_jsx(FlatList, {
51
+ scrollEnabled: props.scroll === true,
52
+ numColumns: itemsPerRow,
53
+ contentContainerStyle: SnowStyle.component.grid.list,
54
+ columnWrapperStyle: columnStyle,
55
+ data: items,
56
+ renderItem: ({
57
+ item,
58
+ index,
59
+ separators
60
+ }) => {
61
+ return /*#__PURE__*/_jsx(View, {
62
+ style: itemStyle,
63
+ children: renderItem(item, index)
64
+ });
65
+ }
66
+ })
67
+ });
68
+ }
69
+ export default SnowGrid;
70
+ //# sourceMappingURL=snow-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","FlatList","useStyleContext","jsx","_jsx","SnowGrid","props","items","children","Children","toArray","filter","child","length","SnowStyle","itemsPerRow","itemStyle","flexBasis","gridStyle","push","short","component","grid","renderItem","item","itemIndex","columnStyle","list","style","scrollEnabled","scroll","numColumns","contentContainerStyle","columnWrapperStyle","data","index","separators"],"sourceRoot":"../../../src","sources":["component/snow-grid.js"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACIC,IAAI,EACJC,QAAQ,QACL,cAAc;AAErB,SAASC,eAAe,QAAQ,kCAA+B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE/D,OAAO,SAASC,QAAQA,CAACC,KAAK,EAAE;EAC5B,IAAI,CAACA,KAAK,CAACC,KAAK,IAAI,CAACD,KAAK,CAACE,QAAQ,EAAE;IACjC,OAAO,IAAI;EACf;EACA,IAAID,KAAK,GAAGD,KAAK,CAACC,KAAK;EACvB,IAAI,CAACD,KAAK,CAACC,KAAK,EAAE;IACd;IACAA,KAAK,GAAGR,KAAK,CAACU,QAAQ,CAACC,OAAO,CAACJ,KAAK,CAACE,QAAQ,CAAC;EAClD;EACAD,KAAK,GAAGA,KAAK,CAACI,MAAM,CAACC,KAAK,IAAIA,KAAK,KAAK,IAAI,CAAC;EAC7C,IAAI,CAACL,KAAK,IAAI,CAACA,KAAK,CAACM,MAAM,EAAE;IACzB,OAAO,IAAI;EACf;EAEA,MAAM;IAAEC;EAAU,CAAC,GAAGZ,eAAe,CAACI,KAAK,CAAC;EAG5C,IAAIS,WAAW,GAAG,CAAC;EACnB,IAAIT,KAAK,CAACS,WAAW,EAAE;IACnBA,WAAW,GAAGT,KAAK,CAACS,WAAW;EACnC;EAEA,IAAIC,SAAS,GAAG,CACZ;IAAEC,SAAS,EAAE,GAAG,GAAG,GAAGF,WAAW;EAAI,CAAC,CACzC;EACD,IAAIG,SAAS,GAAG,EAAE;EAClB,IAAIZ,KAAK,CAACY,SAAS,EAAE;IACjBA,SAAS,CAACC,IAAI,CAACb,KAAK,CAACY,SAAS,CAAC;EACnC;EAEA,IAAIZ,KAAK,CAACc,KAAK,EAAE;IACbF,SAAS,CAACC,IAAI,CAACL,SAAS,CAACO,SAAS,CAACC,IAAI,CAACF,KAAK,CAAC;EAClD;EAEA,IAAIG,UAAU,GAAGA,CAACC,IAAI,EAAEC,SAAS,KAAK;IAClC,OAAOD,IAAI;EACf,CAAC;EACD,IAAIlB,KAAK,CAACiB,UAAU,EAAE;IAClBA,UAAU,GAAGjB,KAAK,CAACiB,UAAU;EACjC;EACA,IAAIG,WAAW,GAAG,IAAI;EACtB,IAAIX,WAAW,GAAG,CAAC,EAAE;IACjB;IACAW,WAAW,GAAGZ,SAAS,CAACO,SAAS,CAACC,IAAI,CAACK,IAAI;EAC/C;EACA,oBACIvB,IAAA,CAACJ,IAAI;IAAC4B,KAAK,EAAEV,SAAU;IAAAV,QAAA,eACnBJ,IAAA,CAACH,QAAQ;MACL4B,aAAa,EAAEvB,KAAK,CAACwB,MAAM,KAAK,IAAK;MACrCC,UAAU,EAAEhB,WAAY;MACxBiB,qBAAqB,EAAElB,SAAS,CAACO,SAAS,CAACC,IAAI,CAACK,IAAK;MACrDM,kBAAkB,EAAEP,WAAY;MAChCQ,IAAI,EAAE3B,KAAM;MACZgB,UAAU,EAAEA,CAAC;QAAEC,IAAI;QAAEW,KAAK;QAAEC;MAAW,CAAC,KAAK;QACzC,oBACIhC,IAAA,CAACJ,IAAI;UAAC4B,KAAK,EAAEZ,SAAU;UAAAR,QAAA,EAClBe,UAAU,CAACC,IAAI,EAAEW,KAAK;QAAC,CACtB,CAAC;MAEf;IAAE,CACL;EAAC,CACC,CAAC;AAEhB;AAEA,eAAe9B,QAAQ","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ import { Text, View } from 'react-native';
4
+ import { useStyleContext } from "../context/snow-style-context.js";
5
+ import SnowText from "./snow-text.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export function SnowHeader(props) {
8
+ const {
9
+ SnowStyle
10
+ } = useStyleContext(props);
11
+ return /*#__PURE__*/_jsx(SnowText, {
12
+ skipDefault: true,
13
+ center: props.center,
14
+ noSelect: props.noSelect,
15
+ style: SnowStyle.component.header,
16
+ children: props.children
17
+ });
18
+ }
19
+ export default SnowHeader;
20
+ //# sourceMappingURL=snow-header.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Text","View","useStyleContext","SnowText","jsx","_jsx","SnowHeader","props","SnowStyle","skipDefault","center","noSelect","style","component","header","children"],"sourceRoot":"../../../src","sources":["component/snow-header.js"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,eAAe,QAAQ,kCAA+B;AAC/D,OAAOC,QAAQ,MAAM,gBAAa;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAElC,OAAO,SAASC,UAAUA,CAACC,KAAK,EAAE;EAC9B,MAAM;IAAEC;EAAU,CAAC,GAAGN,eAAe,CAACK,KAAK,CAAC;EAC5C,oBACIF,IAAA,CAACF,QAAQ;IACLM,WAAW;IACXC,MAAM,EAAEH,KAAK,CAACG,MAAO;IACrBC,QAAQ,EAAEJ,KAAK,CAACI,QAAS;IACzBC,KAAK,EAAEJ,SAAS,CAACK,SAAS,CAACC,MAAO;IAClCC,QAAQ,EAAER,KAAK,CAACQ;EAAS,CAC5B,CAAC;AAEV;AAEA,eAAeT,UAAU","ignoreList":[]}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { TouchableOpacity, View, Platform } from 'react-native';
5
+ import SnowText from "./snow-text.js";
6
+ import { Image } from 'expo-image';
7
+ import { useStyleContext } from "../context/snow-style-context.js";
8
+
9
+ /* spread props
10
+ nextFocusLeft
11
+ nextFocusRight
12
+ nextFocusUp
13
+ nextFocusDown
14
+ onPress
15
+ onLongPress
16
+ */
17
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
+ export function SnowImageButton(props) {
19
+ const {
20
+ SnowStyle
21
+ } = useStyleContext(props);
22
+ const [focused, setFocused] = React.useState(false);
23
+ const touchRef = React.useRef(null);
24
+ React.useEffect(() => {
25
+ if (props.shouldFocus) {
26
+ touchRef.current.focus();
27
+ }
28
+ }, []);
29
+ let fontStyle = [SnowStyle.component.imageButton.text];
30
+ let title = props.title;
31
+ if (title && title.length > 20) {
32
+ fontStyle.push(SnowStyle.component.imageButton.smallText);
33
+ }
34
+ if (title && title.length > 40) {
35
+ title = title.substring(0, 40) + '...';
36
+ }
37
+ const wrapperStyle = [SnowStyle.component.imageButton.wrapper];
38
+ const imageStyle = [SnowStyle.component.imageButton.image];
39
+ if (props.wide) {
40
+ wrapperStyle.push(SnowStyle.component.imageButton.wrapperWide);
41
+ imageStyle.push(SnowStyle.component.imageButton.imageWide);
42
+ }
43
+ if (props.square) {
44
+ wrapperStyle.push(SnowStyle.component.imageButton.wrapperSquare);
45
+ imageStyle.push(SnowStyle.component.imageButton.imageSquare);
46
+ }
47
+ let textWrapperStyle = [SnowStyle.component.imageButton.textWrapper];
48
+ if (props.dull) {
49
+ textWrapperStyle.push(SnowStyle.component.imageButton.dull);
50
+ }
51
+ if (props.selected) {
52
+ wrapperStyle.push(SnowStyle.component.imageButton.selected);
53
+ textWrapperStyle.push(SnowStyle.component.imageButton.selected);
54
+ }
55
+ if (focused && Platform.isTV) {
56
+ wrapperStyle.push(SnowStyle.component.imageButton.focused);
57
+ textWrapperStyle.push(SnowStyle.component.imageButton.focused);
58
+ }
59
+ let imageSource = null;
60
+ if (props.imageUrl) {
61
+ imageSource = {
62
+ uri: props.imageUrl
63
+ };
64
+ }
65
+ if (props.imageSource) {
66
+ imageSource = props.imageSource;
67
+ }
68
+ return /*#__PURE__*/_jsx(View, {
69
+ children: /*#__PURE__*/_jsxs(TouchableOpacity, {
70
+ ...props,
71
+ ref: touchRef,
72
+ activeOpacity: 1.0,
73
+ onFocus: () => {
74
+ setFocused(true);
75
+ },
76
+ onBlur: () => {
77
+ setFocused(false);
78
+ },
79
+ style: wrapperStyle,
80
+ focusable: true,
81
+ hasTVPreferredFocus: props.shouldFocus,
82
+ children: [/*#__PURE__*/_jsx(Image, {
83
+ style: imageStyle,
84
+ contentFit: "contain",
85
+ source: imageSource,
86
+ placeholder: props.placeholder
87
+ }), /*#__PURE__*/_jsx(View, {
88
+ style: textWrapperStyle,
89
+ children: /*#__PURE__*/_jsx(SnowText, {
90
+ style: fontStyle,
91
+ children: title
92
+ })
93
+ })]
94
+ })
95
+ });
96
+ }
97
+ export default SnowImageButton;
98
+ //# sourceMappingURL=snow-image-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","TouchableOpacity","View","Platform","SnowText","Image","useStyleContext","jsx","_jsx","jsxs","_jsxs","SnowImageButton","props","SnowStyle","focused","setFocused","useState","touchRef","useRef","useEffect","shouldFocus","current","focus","fontStyle","component","imageButton","text","title","length","push","smallText","substring","wrapperStyle","wrapper","imageStyle","image","wide","wrapperWide","imageWide","square","wrapperSquare","imageSquare","textWrapperStyle","textWrapper","dull","selected","isTV","imageSource","imageUrl","uri","children","ref","activeOpacity","onFocus","onBlur","style","focusable","hasTVPreferredFocus","contentFit","source","placeholder"],"sourceRoot":"../../../src","sources":["component/snow-image-button.js"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { View } from 'react-native';
5
+ import SnowGrid from "./snow-grid.js";
6
+ import SnowImageButton from "./snow-image-button.js";
7
+ import SnowLabel from "./snow-label.js";
8
+
9
+ /* spread props
10
+ snowStyle
11
+ nextFocusLeft
12
+ nextFocusRight
13
+ nextFocusUp
14
+ nextFocusDown
15
+ */
16
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
17
+ export function SnowImageGrid(props) {
18
+ if (!props.items || !props.items.length) {
19
+ return null;
20
+ }
21
+ const [toggledItems, setToggledItems] = React.useState({});
22
+ const itemsPerRow = props.itemsPerRow || 5;
23
+ const renderItem = (item, itemIndex) => {
24
+ let imageUrl = null;
25
+ if (props.getItemImageUrl) {
26
+ imageUrl = props.getItemImageUrl(item);
27
+ }
28
+ let imageSource = null;
29
+ if (props.getItemImageSource) {
30
+ imageSource = props.getItemImageSource(item);
31
+ }
32
+ const itemName = props.getItemName(item);
33
+ let toggled = toggledItems.hasOwnProperty(item.id);
34
+ let isDull = false;
35
+ if (!props.disableToggle) {
36
+ if (props.getItemToggleStatus && props.getItemToggleStatus(item)) {
37
+ isDull = true;
38
+ }
39
+ }
40
+ return /*#__PURE__*/_jsx(SnowImageButton, {
41
+ ...props,
42
+ wide: props.wideImage,
43
+ dull: isDull,
44
+ imageUrl: imageUrl,
45
+ imageSource: imageSource,
46
+ onPress: () => {
47
+ if (props.onPress) {
48
+ props.onPress(item);
49
+ }
50
+ },
51
+ onLongPress: () => {
52
+ if (props.onLongPress) {
53
+ props.onLongPress(item);
54
+ }
55
+ if (props.longPressToggle) {
56
+ setToggledItems(prev => {
57
+ let result = {
58
+ ...prev
59
+ };
60
+ if (toggled) {
61
+ delete result[item.id];
62
+ } else {
63
+ result[item.id] = true;
64
+ }
65
+ return result;
66
+ });
67
+ }
68
+ },
69
+ title: itemName
70
+ });
71
+ };
72
+ return /*#__PURE__*/_jsxs(View, {
73
+ children: [props.title ? /*#__PURE__*/_jsxs(SnowLabel, {
74
+ children: [props.title, " (", props.items.length, ")"]
75
+ }) : null, /*#__PURE__*/_jsx(SnowGrid, {
76
+ shouldFocus: props.shouldFocus,
77
+ items: props.items,
78
+ renderItem: renderItem,
79
+ itemsPerRow: itemsPerRow
80
+ })]
81
+ });
82
+ }
83
+ export default SnowImageGrid;
84
+ //# sourceMappingURL=snow-image-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","View","SnowGrid","SnowImageButton","SnowLabel","jsx","_jsx","jsxs","_jsxs","SnowImageGrid","props","items","length","toggledItems","setToggledItems","useState","itemsPerRow","renderItem","item","itemIndex","imageUrl","getItemImageUrl","imageSource","getItemImageSource","itemName","getItemName","toggled","hasOwnProperty","id","isDull","disableToggle","getItemToggleStatus","wide","wideImage","dull","onPress","onLongPress","longPressToggle","prev","result","title","children","shouldFocus"],"sourceRoot":"../../../src","sources":["component/snow-image-grid.js"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+
3
+ import React from 'react';
4
+ import { TextInput } from 'react-native';
5
+ import { useDebouncedCallback } from 'use-debounce';
6
+ import { useStyleContext } from "../context/snow-style-context.js";
7
+
8
+ /* spreadble props
9
+ secureTextEntry
10
+ nextFocusLeft
11
+ nextFocusRight
12
+ nextFocusUp
13
+ nextFocusDown
14
+ */
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
+ export function SnowInput(props) {
17
+ const {
18
+ SnowStyle,
19
+ SnowConfig
20
+ } = useStyleContext(props);
21
+ let textStyle = [SnowStyle.component.input.text];
22
+ if (props.short) {
23
+ textStyle.push(SnowStyle.component.input.small);
24
+ }
25
+ let onDebounce = null;
26
+ if (props.onDebounce) {
27
+ onDebounce = useDebouncedCallback(props.onDebounce, SnowConfig.inputDebounceMilliseconds);
28
+ }
29
+ return /*#__PURE__*/_jsx(TextInput, {
30
+ ...props,
31
+ style: textStyle,
32
+ focusable: true,
33
+ editable: true,
34
+ onChangeText: val => {
35
+ if (props.onValueChange) {
36
+ props.onValueChange(val);
37
+ }
38
+ if (onDebounce) {
39
+ onDebounce(val);
40
+ }
41
+ },
42
+ onSubmitEditing: () => {
43
+ if (props.onSubmit) {
44
+ props.onSubmit();
45
+ }
46
+ },
47
+ value: props.value
48
+ });
49
+ }
50
+ export default SnowInput;
51
+ //# sourceMappingURL=snow-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","TextInput","useDebouncedCallback","useStyleContext","jsx","_jsx","SnowInput","props","SnowStyle","SnowConfig","textStyle","component","input","text","short","push","small","onDebounce","inputDebounceMilliseconds","style","focusable","editable","onChangeText","val","onValueChange","onSubmitEditing","onSubmit","value"],"sourceRoot":"../../../src","sources":["component/snow-input.js"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,oBAAoB,QAAQ,cAAc;AACnD,SAASC,eAAe,QAAQ,kCAA+B;;AAE/D;AACA;AACA;AACA;AACA;AACA;AACA;AANA,SAAAC,GAAA,IAAAC,IAAA;AAQA,OAAO,SAASC,SAASA,CAACC,KAAK,EAAE;EAC7B,MAAM;IAAEC,SAAS;IAAEC;EAAW,CAAC,GAAGN,eAAe,CAACI,KAAK,CAAC;EACxD,IAAIG,SAAS,GAAG,CAACF,SAAS,CAACG,SAAS,CAACC,KAAK,CAACC,IAAI,CAAC;EAChD,IAAIN,KAAK,CAACO,KAAK,EAAE;IACbJ,SAAS,CAACK,IAAI,CAACP,SAAS,CAACG,SAAS,CAACC,KAAK,CAACI,KAAK,CAAC;EACnD;EAEA,IAAIC,UAAU,GAAG,IAAI;EACrB,IAAIV,KAAK,CAACU,UAAU,EAAE;IAClBA,UAAU,GAAGf,oBAAoB,CAACK,KAAK,CAACU,UAAU,EAAER,UAAU,CAACS,yBAAyB,CAAC;EAC7F;EACA,oBAAOb,IAAA,CAACJ,SAAS;IAAA,GACTM,KAAK;IACTY,KAAK,EAAET,SAAU;IACjBU,SAAS,EAAE,IAAK;IAChBC,QAAQ,EAAE,IAAK;IACfC,YAAY,EAAGC,GAAG,IAAK;MACnB,IAAIhB,KAAK,CAACiB,aAAa,EAAE;QACrBjB,KAAK,CAACiB,aAAa,CAACD,GAAG,CAAC;MAC5B;MACA,IAAIN,UAAU,EAAE;QACZA,UAAU,CAACM,GAAG,CAAC;MACnB;IACJ,CAAE;IACFE,eAAe,EAAEA,CAAA,KAAM;MACnB,IAAIlB,KAAK,CAACmB,QAAQ,EAAE;QAChBnB,KAAK,CAACmB,QAAQ,CAAC,CAAC;MACpB;IACJ,CAAE;IACFC,KAAK,EAAEpB,KAAK,CAACoB;EAAM,CACtB,CAAC;AACN;AAEA,eAAerB,SAAS","ignoreList":[]}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ import { View, Text } from 'react-native';
4
+ import { useStyleContext } from "../context/snow-style-context.js";
5
+ import SnowText from "./snow-text.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export function SnowLabel(props) {
8
+ const {
9
+ SnowStyle
10
+ } = useStyleContext(props);
11
+ return /*#__PURE__*/_jsx(SnowText, {
12
+ skipDefault: true,
13
+ center: props.center,
14
+ noSelect: props.noSelect,
15
+ style: SnowStyle.component.label,
16
+ children: props.children
17
+ });
18
+ }
19
+ export default SnowLabel;
20
+ //# sourceMappingURL=snow-label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["View","Text","useStyleContext","SnowText","jsx","_jsx","SnowLabel","props","SnowStyle","skipDefault","center","noSelect","style","component","label","children"],"sourceRoot":"../../../src","sources":["component/snow-label.js"],"mappings":";;AAAA,SAASA,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,eAAe,QAAQ,kCAA+B;AAC/D,OAAOC,QAAQ,MAAM,gBAAa;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAElC,OAAO,SAASC,SAASA,CAACC,KAAK,EAAE;EAC7B,MAAM;IAAEC;EAAU,CAAC,GAAGN,eAAe,CAACK,KAAK,CAAC;EAC5C,oBACIF,IAAA,CAACF,QAAQ;IACLM,WAAW;IACXC,MAAM,EAAEH,KAAK,CAACG,MAAO;IACrBC,QAAQ,EAAEJ,KAAK,CAACI,QAAS;IACzBC,KAAK,EAAEJ,SAAS,CAACK,SAAS,CAACC,KAAM;IACjCC,QAAQ,EAAER,KAAK,CAACQ;EAAS,CAC5B,CAAC;AAEV;AAEA,eAAeT,SAAS","ignoreList":[]}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+
3
+ import { Modal } from 'react-native';
4
+ import SnowFillView from "./snow-fill-view.js";
5
+ import { useStyleContext } from "../context/snow-style-context.js";
6
+ import { jsx as _jsx } from "react/jsx-runtime";
7
+ export function SnowModal(props) {
8
+ const {
9
+ SnowStyle
10
+ } = useStyleContext(props);
11
+ let style = [SnowStyle.component.modal.prompt];
12
+ if (props.transparent) {
13
+ style.push(SnowStyle.component.modal.transparent);
14
+ }
15
+ if (props.center) {
16
+ style.push(SnowStyle.component.modal.center);
17
+ }
18
+ if (props.contentStyle) {
19
+ style.push(props.contentStyle);
20
+ }
21
+ if (props.wrapper === false) {
22
+ return /*#__PURE__*/_jsx(Modal, {
23
+ navigationBarTranslucent: true,
24
+ statusBarTranslucent: true,
25
+ transparent: props.transparent,
26
+ style: style,
27
+ onRequestClose: props.onRequestClose,
28
+ children: props.children
29
+ });
30
+ }
31
+ let modalStyle = [SnowStyle.component.modal.prompt];
32
+ if (props.modalStyle) {
33
+ modalStyle.push(modalStyle);
34
+ }
35
+ return /*#__PURE__*/_jsx(Modal, {
36
+ style: modalStyle,
37
+ navigationBarTranslucent: true,
38
+ statusBarTranslucent: true,
39
+ transparent: props.transparent,
40
+ onRequestClose: props.onRequestClose,
41
+ children: /*#__PURE__*/_jsx(SnowFillView, {
42
+ scroll: props.scroll,
43
+ children: props.children,
44
+ style: style
45
+ })
46
+ });
47
+ }
48
+ export default SnowModal;
49
+ //# sourceMappingURL=snow-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Modal","SnowFillView","useStyleContext","jsx","_jsx","SnowModal","props","SnowStyle","style","component","modal","prompt","transparent","push","center","contentStyle","wrapper","navigationBarTranslucent","statusBarTranslucent","onRequestClose","children","modalStyle","scroll"],"sourceRoot":"../../../src","sources":["component/snow-modal.js"],"mappings":";;AAAA,SAASA,KAAK,QAAQ,cAAc;AACpC,OAAOC,YAAY,MAAM,qBAAkB;AAC3C,SAASC,eAAe,QAAQ,kCAA+B;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE/D,OAAO,SAASC,SAASA,CAACC,KAAK,EAAE;EAC7B,MAAM;IAAEC;EAAU,CAAC,GAAGL,eAAe,CAACI,KAAK,CAAC;EAE5C,IAAIE,KAAK,GAAG,CAACD,SAAS,CAACE,SAAS,CAACC,KAAK,CAACC,MAAM,CAAC;EAC9C,IAAIL,KAAK,CAACM,WAAW,EAAE;IACnBJ,KAAK,CAACK,IAAI,CAACN,SAAS,CAACE,SAAS,CAACC,KAAK,CAACE,WAAW,CAAC;EACrD;EACA,IAAIN,KAAK,CAACQ,MAAM,EAAE;IACdN,KAAK,CAACK,IAAI,CAACN,SAAS,CAACE,SAAS,CAACC,KAAK,CAACI,MAAM,CAAC;EAChD;EACA,IAAIR,KAAK,CAACS,YAAY,EAAE;IACpBP,KAAK,CAACK,IAAI,CAACP,KAAK,CAACS,YAAY,CAAC;EAClC;EACA,IAAIT,KAAK,CAACU,OAAO,KAAK,KAAK,EAAE;IACzB,oBACIZ,IAAA,CAACJ,KAAK;MACFiB,wBAAwB;MACxBC,oBAAoB;MACpBN,WAAW,EAAEN,KAAK,CAACM,WAAY;MAC/BJ,KAAK,EAAEA,KAAM;MACbW,cAAc,EAAEb,KAAK,CAACa,cAAe;MACrCC,QAAQ,EAAEd,KAAK,CAACc;IAAS,CAAE,CAAC;EAExC;EACA,IAAIC,UAAU,GAAG,CAACd,SAAS,CAACE,SAAS,CAACC,KAAK,CAACC,MAAM,CAAC;EACnD,IAAIL,KAAK,CAACe,UAAU,EAAE;IAClBA,UAAU,CAACR,IAAI,CAACQ,UAAU,CAAC;EAC/B;EACA,oBAAOjB,IAAA,CAACJ,KAAK;IACTQ,KAAK,EAAEa,UAAW;IAClBJ,wBAAwB;IACxBC,oBAAoB;IACpBN,WAAW,EAAEN,KAAK,CAACM,WAAY;IAC/BO,cAAc,EAAEb,KAAK,CAACa,cAAe;IAAAC,QAAA,eACrChB,IAAA,CAACH,YAAY;MACTqB,MAAM,EAAEhB,KAAK,CAACgB,MAAO;MACrBF,QAAQ,EAAEd,KAAK,CAACc,QAAS;MACzBZ,KAAK,EAAEA;IAAM,CAAE;EAAC,CACjB,CAAC;AACZ;AAEA,eAAeH,SAAS","ignoreList":[]}