@webority/mobile-ui 0.111.0 → 0.113.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.
- package/dist/canvas-kit/kit.js +1941 -1726
- package/dist/canvas-kit/manifest.json +47 -62
- package/dist/canvas-kit/release.json +6 -6
- package/lib/commonjs/components/Banner/Banner.js +1 -1
- package/lib/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.js +1 -1
- package/lib/commonjs/components/KeyboardAwareScrollView/KeyboardAwareScrollView.js +1 -1
- package/lib/commonjs/components/Markdown/Markdown.js +1 -1
- package/lib/commonjs/components/MessageBubble/MessageBubble.js +1 -1
- package/lib/commonjs/components/NumberInput/NumberInput.js +1 -1
- package/lib/commonjs/components/Screen/Screen.js +1 -1
- package/lib/commonjs/components/SegmentedControl/SegmentedControl.js +1 -1
- package/lib/commonjs/components/Skeleton/Skeleton.js +1 -1
- package/lib/commonjs/components/Skeleton/SkeletonContent.js +1 -1
- package/lib/commonjs/components/Skeleton/SkeletonList.js +1 -1
- package/lib/commonjs/components/SortableList/SortableList.js +1 -1
- package/lib/commonjs/theme/tokens.generated.js +1 -1
- package/lib/module/components/Banner/Banner.js +1 -1
- package/lib/module/components/ForceUpdateDialog/ForceUpdateDialog.js +1 -1
- package/lib/module/components/KeyboardAwareScrollView/KeyboardAwareScrollView.js +1 -1
- package/lib/module/components/Markdown/Markdown.js +1 -1
- package/lib/module/components/MessageBubble/MessageBubble.js +1 -1
- package/lib/module/components/NumberInput/NumberInput.js +1 -1
- package/lib/module/components/Screen/Screen.js +1 -1
- package/lib/module/components/SegmentedControl/SegmentedControl.js +1 -1
- package/lib/module/components/Skeleton/Skeleton.js +1 -1
- package/lib/module/components/Skeleton/SkeletonContent.js +1 -1
- package/lib/module/components/Skeleton/SkeletonList.js +1 -1
- package/lib/module/components/SortableList/SortableList.js +1 -1
- package/lib/module/theme/tokens.generated.js +1 -1
- package/lib/typescript/commonjs/components/ForceUpdateDialog/ForceUpdateDialog.d.ts +2 -0
- package/lib/typescript/commonjs/components/KeyboardAwareScrollView/KeyboardAwareScrollView.d.ts +6 -4
- package/lib/typescript/commonjs/components/Markdown/Markdown.d.ts +17 -10
- package/lib/typescript/commonjs/components/NumberInput/NumberInput.d.ts +1 -1
- package/lib/typescript/commonjs/components/RichTextEditor/markdownActions.d.ts +2 -2
- package/lib/typescript/commonjs/components/Screen/Screen.d.ts +11 -1
- package/lib/typescript/commonjs/components/Skeleton/Skeleton.d.ts +0 -2
- package/lib/typescript/commonjs/components/Skeleton/SkeletonContent.d.ts +1 -3
- package/lib/typescript/commonjs/components/Skeleton/SkeletonList.d.ts +1 -3
- package/lib/typescript/commonjs/theme/tokens.generated.d.ts +6 -0
- package/lib/typescript/module/components/ForceUpdateDialog/ForceUpdateDialog.d.ts +2 -0
- package/lib/typescript/module/components/KeyboardAwareScrollView/KeyboardAwareScrollView.d.ts +6 -4
- package/lib/typescript/module/components/Markdown/Markdown.d.ts +17 -10
- package/lib/typescript/module/components/NumberInput/NumberInput.d.ts +1 -1
- package/lib/typescript/module/components/RichTextEditor/markdownActions.d.ts +2 -2
- package/lib/typescript/module/components/Screen/Screen.d.ts +11 -1
- package/lib/typescript/module/components/Skeleton/Skeleton.d.ts +0 -2
- package/lib/typescript/module/components/Skeleton/SkeletonContent.d.ts +1 -3
- package/lib/typescript/module/components/Skeleton/SkeletonList.d.ts +1 -3
- package/lib/typescript/module/theme/tokens.generated.d.ts +6 -0
- package/package.json +9 -6
- package/lib/commonjs/components/Markdown/parse.js +0 -1
- package/lib/module/components/Markdown/parse.js +0 -1
- package/lib/typescript/commonjs/components/Markdown/parse.d.ts +0 -63
- package/lib/typescript/module/components/Markdown/parse.d.ts +0 -63
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"kind": "WeborityPhone",
|
|
3
3
|
"library": {
|
|
4
4
|
"name": "@webority/mobile-ui",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.113.0"
|
|
6
6
|
},
|
|
7
7
|
"rendererProtocolVersion": 13,
|
|
8
8
|
"platform": "Phone",
|
|
@@ -7453,6 +7453,12 @@
|
|
|
7453
7453
|
"description": "Dialog title.",
|
|
7454
7454
|
"default": "Update available"
|
|
7455
7455
|
},
|
|
7456
|
+
{
|
|
7457
|
+
"name": "updateFallbackUrl",
|
|
7458
|
+
"type": "string",
|
|
7459
|
+
"required": false,
|
|
7460
|
+
"description": "Address shown as a tappable link when the store cannot be opened; nothing extra shows when left out."
|
|
7461
|
+
},
|
|
7456
7462
|
{
|
|
7457
7463
|
"name": "updateUrl",
|
|
7458
7464
|
"type": "string",
|
|
@@ -9335,6 +9341,28 @@
|
|
|
9335
9341
|
"marker": null,
|
|
9336
9342
|
"acceptsChildren": true,
|
|
9337
9343
|
"props": [
|
|
9344
|
+
{
|
|
9345
|
+
"name": "headings",
|
|
9346
|
+
"type": "enum",
|
|
9347
|
+
"enum": [
|
|
9348
|
+
"outline",
|
|
9349
|
+
"text"
|
|
9350
|
+
],
|
|
9351
|
+
"required": false,
|
|
9352
|
+
"description": "outline sizes each heading by its level; text draws every heading as bold body text.",
|
|
9353
|
+
"default": "outline"
|
|
9354
|
+
},
|
|
9355
|
+
{
|
|
9356
|
+
"name": "links",
|
|
9357
|
+
"type": "enum",
|
|
9358
|
+
"enum": [
|
|
9359
|
+
"app",
|
|
9360
|
+
"web"
|
|
9361
|
+
],
|
|
9362
|
+
"required": false,
|
|
9363
|
+
"description": "web makes web and contact addresses pressable; app makes the links resolveLink maps pressable.",
|
|
9364
|
+
"default": "web"
|
|
9365
|
+
},
|
|
9338
9366
|
{
|
|
9339
9367
|
"name": "loading",
|
|
9340
9368
|
"type": "boolean",
|
|
@@ -10375,8 +10403,7 @@
|
|
|
10375
10403
|
"type": "enum",
|
|
10376
10404
|
"enum": [
|
|
10377
10405
|
"horizontal",
|
|
10378
|
-
"inline"
|
|
10379
|
-
"stacked"
|
|
10406
|
+
"inline"
|
|
10380
10407
|
],
|
|
10381
10408
|
"required": false,
|
|
10382
10409
|
"description": "How the label sits relative to the field.",
|
|
@@ -13327,12 +13354,25 @@
|
|
|
13327
13354
|
"bottom"
|
|
13328
13355
|
]
|
|
13329
13356
|
},
|
|
13357
|
+
{
|
|
13358
|
+
"name": "floatingAction",
|
|
13359
|
+
"type": "node",
|
|
13360
|
+
"required": false,
|
|
13361
|
+
"description": "A floating action button. The page lifts it above the tab bar and footer and keeps room under the content for it."
|
|
13362
|
+
},
|
|
13330
13363
|
{
|
|
13331
13364
|
"name": "footer",
|
|
13332
13365
|
"type": "node",
|
|
13333
13366
|
"required": false,
|
|
13334
13367
|
"description": "Content pinned under the page, above the keyboard."
|
|
13335
13368
|
},
|
|
13369
|
+
{
|
|
13370
|
+
"name": "gutter",
|
|
13371
|
+
"type": "boolean",
|
|
13372
|
+
"required": false,
|
|
13373
|
+
"description": "Keeps the content inside the page's side margin. List pages default to false, because their rows carry their own padding.",
|
|
13374
|
+
"default": true
|
|
13375
|
+
},
|
|
13336
13376
|
{
|
|
13337
13377
|
"name": "keyboardToolbar",
|
|
13338
13378
|
"type": "boolean",
|
|
@@ -14791,17 +14831,6 @@
|
|
|
14791
14831
|
"description": "The shape of the placeholder: square corners, rounded corners, a circle or a line of text.",
|
|
14792
14832
|
"default": "rect"
|
|
14793
14833
|
},
|
|
14794
|
-
{
|
|
14795
|
-
"name": "speed",
|
|
14796
|
-
"type": "enum",
|
|
14797
|
-
"enum": [
|
|
14798
|
-
"fast",
|
|
14799
|
-
"normal",
|
|
14800
|
-
"slow"
|
|
14801
|
-
],
|
|
14802
|
-
"required": false,
|
|
14803
|
-
"description": "How fast the shimmer sweeps."
|
|
14804
|
-
},
|
|
14805
14834
|
{
|
|
14806
14835
|
"name": "variant",
|
|
14807
14836
|
"type": "enum",
|
|
@@ -14943,17 +14972,6 @@
|
|
|
14943
14972
|
"required": true,
|
|
14944
14973
|
"description": "The diameter in points."
|
|
14945
14974
|
},
|
|
14946
|
-
{
|
|
14947
|
-
"name": "speed",
|
|
14948
|
-
"type": "enum",
|
|
14949
|
-
"enum": [
|
|
14950
|
-
"fast",
|
|
14951
|
-
"normal",
|
|
14952
|
-
"slow"
|
|
14953
|
-
],
|
|
14954
|
-
"required": false,
|
|
14955
|
-
"description": "How fast the shimmer sweeps."
|
|
14956
|
-
},
|
|
14957
14975
|
{
|
|
14958
14976
|
"name": "variant",
|
|
14959
14977
|
"type": "enum",
|
|
@@ -15060,17 +15078,6 @@
|
|
|
15060
15078
|
"required": false,
|
|
15061
15079
|
"description": "A placeholder drawn as written while loading; left out, the content is turned into placeholder shapes."
|
|
15062
15080
|
},
|
|
15063
|
-
{
|
|
15064
|
-
"name": "speed",
|
|
15065
|
-
"type": "enum",
|
|
15066
|
-
"enum": [
|
|
15067
|
-
"fast",
|
|
15068
|
-
"normal",
|
|
15069
|
-
"slow"
|
|
15070
|
-
],
|
|
15071
|
-
"required": false,
|
|
15072
|
-
"description": "How fast the shimmer sweeps."
|
|
15073
|
-
},
|
|
15074
15081
|
{
|
|
15075
15082
|
"name": "variant",
|
|
15076
15083
|
"type": "enum",
|
|
@@ -15169,17 +15176,6 @@
|
|
|
15169
15176
|
"required": false,
|
|
15170
15177
|
"description": "How many placeholder rows to draw while loading; left out, the provider default or 3 is used."
|
|
15171
15178
|
},
|
|
15172
|
-
{
|
|
15173
|
-
"name": "speed",
|
|
15174
|
-
"type": "enum",
|
|
15175
|
-
"enum": [
|
|
15176
|
-
"fast",
|
|
15177
|
-
"normal",
|
|
15178
|
-
"slow"
|
|
15179
|
-
],
|
|
15180
|
-
"required": false,
|
|
15181
|
-
"description": "How fast the shimmer sweeps."
|
|
15182
|
-
},
|
|
15183
15179
|
{
|
|
15184
15180
|
"name": "variant",
|
|
15185
15181
|
"type": "enum",
|
|
@@ -15302,17 +15298,6 @@
|
|
|
15302
15298
|
"required": false,
|
|
15303
15299
|
"description": "The gap between lines in points."
|
|
15304
15300
|
},
|
|
15305
|
-
{
|
|
15306
|
-
"name": "speed",
|
|
15307
|
-
"type": "enum",
|
|
15308
|
-
"enum": [
|
|
15309
|
-
"fast",
|
|
15310
|
-
"normal",
|
|
15311
|
-
"slow"
|
|
15312
|
-
],
|
|
15313
|
-
"required": false,
|
|
15314
|
-
"description": "How fast the shimmer sweeps."
|
|
15315
|
-
},
|
|
15316
15301
|
{
|
|
15317
15302
|
"name": "variant",
|
|
15318
15303
|
"type": "enum",
|
|
@@ -20486,16 +20471,16 @@
|
|
|
20486
20471
|
"dark": "#84848d"
|
|
20487
20472
|
},
|
|
20488
20473
|
"field-placeholder-disabled": {
|
|
20489
|
-
"light": "#
|
|
20490
|
-
"dark": "#
|
|
20474
|
+
"light": "#7a8197",
|
|
20475
|
+
"dark": "#71717a"
|
|
20491
20476
|
},
|
|
20492
20477
|
"field-text": {
|
|
20493
20478
|
"light": "#252f4a",
|
|
20494
20479
|
"dark": "#fafafa"
|
|
20495
20480
|
},
|
|
20496
20481
|
"field-text-disabled": {
|
|
20497
|
-
"light": "#
|
|
20498
|
-
"dark": "#
|
|
20482
|
+
"light": "#7a8197",
|
|
20483
|
+
"dark": "#71717a"
|
|
20499
20484
|
},
|
|
20500
20485
|
"focus-ring": {
|
|
20501
20486
|
"light": "#5b5bd6",
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "webority-phone",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.113.0",
|
|
4
4
|
"platform": "Phone",
|
|
5
5
|
"kitModuleVersion": 2,
|
|
6
6
|
"rendererProtocolVersion": 13,
|
|
7
7
|
"library": {
|
|
8
8
|
"name": "@webority/mobile-ui",
|
|
9
|
-
"version": "0.
|
|
9
|
+
"version": "0.113.0"
|
|
10
10
|
},
|
|
11
11
|
"files": {
|
|
12
12
|
"manifest.json": {
|
|
13
|
-
"sha256": "
|
|
14
|
-
"bytes":
|
|
13
|
+
"sha256": "720e9aec84e4bdffbcb60b7cd1981fd3d5821b374b8d2fb202d82e2bcf9255c8",
|
|
14
|
+
"bytes": 636991
|
|
15
15
|
},
|
|
16
16
|
"kit.js": {
|
|
17
|
-
"sha256": "
|
|
18
|
-
"bytes":
|
|
17
|
+
"sha256": "5381a25aecdd7590720aab6fc690d16339911058c5b25416b575cfbae9f4ab44",
|
|
18
|
+
"bytes": 5959242
|
|
19
19
|
},
|
|
20
20
|
"kit.css": {
|
|
21
21
|
"sha256": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.DEFAULT_BANNER_LABELS=exports.Banner=void 0;var _react=require("react"),_reactNative=require("react-native"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_hitSlop=require("../../utils/hitSlop.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_slotIcon=require("../AppIcon/slotIcon.js"),_index2=require("../IconBadge/index.js"),_index3=require("../Skeleton/index.js"),_index4=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_BANNER_LABELS=exports.DEFAULT_BANNER_LABELS=Object.freeze({dismiss:"Dismiss banner"}),Banner=exports.Banner=(0,_react.forwardRef)((e,t)=>{const{title:r,message:n,tone:i="neutral",variant:s="bar",icon:a,actions:o,dismissible:l=!1,onClose:c,haptic:d,visible:u=!0,animateMount:x=!0,loading:m=!1,accessibilityRole:p="alert",accessibilityLabel:_,labels:g,style:h,containerStyle:y,iconCircleStyle:b,tintBarStyle:v,closeButtonStyle:f,actionButtonStyle:j,testID:w}=e;(0,_warnInvalidValue.warnInvalidValue)("Banner","tone",e.tone,["primary","success","warning","danger","info","neutral"]),(0,_warnInvalidValue.warnInvalidValue)("Banner","variant",e.variant,["bar","wash","tint"]),(0,_warnInvalidValue.warnInvalidValue)("Banner","accessibilityRole",e.accessibilityRole,["alert","summary","none"]);const R=(0,_index.useTheme)(),B=(0,_usePresenceMotion.usePresenceMotion)(),S=(0,_react.useMemo)(()=>buildStyles(R),[R]),N=(0,_react.useMemo)(()=>tintFor(R,i),[R,i]),I=(0,_react.useMemo)(()=>({...DEFAULT_BANNER_LABELS,...g}),[g]),[V
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.DEFAULT_BANNER_LABELS=exports.Banner=void 0;var _react=require("react"),_reactNative=require("react-native"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_hapticUtils=require("../../utils/hapticUtils.js"),_hitSlop=require("../../utils/hitSlop.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_slotIcon=require("../AppIcon/slotIcon.js"),_index2=require("../IconBadge/index.js"),_index3=require("../Skeleton/index.js"),_index4=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_BANNER_LABELS=exports.DEFAULT_BANNER_LABELS=Object.freeze({dismiss:"Dismiss banner"}),Banner=exports.Banner=(0,_react.forwardRef)((e,t)=>{const{title:r,message:n,tone:i="neutral",variant:s="bar",icon:a,actions:o,dismissible:l=!1,onClose:c,haptic:d,visible:u=!0,animateMount:x=!0,loading:m=!1,accessibilityRole:p="alert",accessibilityLabel:_,labels:g,style:h,containerStyle:y,iconCircleStyle:b,tintBarStyle:v,closeButtonStyle:f,actionButtonStyle:j,testID:w}=e;(0,_warnInvalidValue.warnInvalidValue)("Banner","tone",e.tone,["primary","success","warning","danger","info","neutral"]),(0,_warnInvalidValue.warnInvalidValue)("Banner","variant",e.variant,["bar","wash","tint"]),(0,_warnInvalidValue.warnInvalidValue)("Banner","accessibilityRole",e.accessibilityRole,["alert","summary","none"]);const R=(0,_index.useTheme)(),B=(0,_usePresenceMotion.usePresenceMotion)(),S=(0,_react.useMemo)(()=>buildStyles(R),[R]),N=(0,_react.useMemo)(()=>tintFor(R,i),[R,i]),I=(0,_react.useMemo)(()=>({...DEFAULT_BANNER_LABELS,...g}),[g]),[C,V]=B.range(-20,0),k=(0,_react.useRef)((0,_index.createAnimatedValue)(x&&u?C:0)).current,L=(0,_react.useRef)((0,_index.createAnimatedValue)(x&&u?0:u?1:0)).current,[A,D]=(0,_react.useState)(u),E=(0,_react.useRef)(!0);if((0,_react.useEffect)(()=>{if(E.current&&(E.current=!1,!x))return;let e;return u?(D(!0),e=_reactNative.Animated.parallel([_reactNative.Animated.timing(k,{toValue:V,duration:R.motion.duration.default,useNativeDriver:!0}),_reactNative.Animated.timing(L,{toValue:1,duration:B.duration("default"),useNativeDriver:!0})]),e.start()):A&&(e=_reactNative.Animated.parallel([_reactNative.Animated.timing(k,{toValue:C,duration:R.motion.duration.fast,useNativeDriver:!0}),_reactNative.Animated.timing(L,{toValue:0,duration:B.duration("fast"),useNativeDriver:!0})]),e.start(()=>{D(!1)})),()=>e?.stop()},[u]),!A)return null;const T=r??" ",q="string"==typeof n?n??" ":"",M="wash"===s,H="bar"!==s,z="alert"===p?"danger"===i?"assertive":"polite":"none",P=(0,_jsxRuntime.jsxs)(_reactNative.Animated.View,{ref:t,accessibilityRole:p,accessibilityLiveRegion:z,accessibilityLabel:_,testID:w,style:[S.container,{backgroundColor:H?N.soft:R.colors["bg-subtle"],borderRadius:M?R.radius.sm:R.radius.md,..._corners.smoothCorners,padding:R.space.md,opacity:L,transform:[{translateY:k}]},h,y],children:[!M&&R.components.banner["tint-bar-width"]>0?(0,_jsxRuntime.jsx)(_reactNative.View,{style:[S.tintBar,{backgroundColor:N.bar},v]}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[S.row,void 0===r&&S.rowCentred],children:[!1===a?null:a?(0,_jsxRuntime.jsx)(_reactNative.View,{style:S.iconWrap,children:(0,_slotIcon.renderSlotIcon)(a,{color:N.ink,size:R.text.xl.size,disabled:!1})}):(0,_jsxRuntime.jsx)(_index2.IconBadge,{dimension:ICON_CIRCLE_SIZE,color:N.bar,icon:(0,_jsxRuntime.jsx)(_index4.Text,{variant:"body",weight:"bold",accessible:!1,style:[S.iconGlyph,{color:N.ink}],children:N.glyph}),style:[S.iconCircle,b]}),(0,_jsxRuntime.jsxs)(_reactNative.View,{style:S.textBlock,children:[r||m?(0,_jsxRuntime.jsx)(_index4.Text,{variant:"body",weight:"semibold",numberOfLines:2,style:{lineHeight:20,...M?{color:N.ink}:null},children:T}):null,"string"==typeof n||m?(0,_jsxRuntime.jsx)(_index4.Text,{variant:"bodySmall",color:"secondary",style:{lineHeight:18,marginTop:r?R.space.xxs:0},children:q||" "}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:{marginTop:r?R.space.xxs:0},children:n})]}),l?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{accessibilityRole:"button",accessibilityLabel:I.dismiss,onPress:()=>{const e=(0,_hapticUtils.resolveHaptic)(d,"selection");e&&(0,_hapticUtils.triggerHaptic)(e),c?.()},hitSlop:8,...(0,_hitSlop.hitSlopMarker)(8),style:({pressed:e})=>[S.closeBtn,{backgroundColor:e?R.colors["surface-pressed"]:"transparent"},f],children:(0,_jsxRuntime.jsx)(_index4.Text,{variant:"title",weight:"bold",color:"secondary",accessible:!1,style:{lineHeight:17},children:"×"})}):null]}),o&&o.length>0?(0,_jsxRuntime.jsx)(_reactNative.View,{style:S.actionsRow,children:o.map((e,t)=>{(0,_warnInvalidValue.warnInvalidValue)("Banner","action.tone",e.tone,["primary","success","warning","danger","info","neutral"]),(0,_warnInvalidValue.warnInvalidValue)("Banner","action.variant",e.variant,["solid","outline","ghost"]),(0,_warnInvalidValue.warnInvalidValue)("Banner","action.size",e.size,["sm","md"]);const r=e.tone??"primary",n=e.variant??"ghost",i="primary"===r?N.glyphColor:"neutral"===r?R.colors["text-muted"]:R.colors[r],s="primary"===r?N.ink:"neutral"===r?R.colors["text-muted"]:R.colors[`${r}-text`],a="primary"===r?N.on:"neutral"===r?R.colors["on-neutral-strong"]:R.colors[`on-${r}`],o="solid"===n;return(0,_jsxRuntime.jsx)(_reactNative.Pressable,{accessibilityRole:"button",accessibilityLabel:e.label,testID:e.testID,onPress:()=>{const t=(0,_hapticUtils.resolveHaptic)(d,"selection");t&&(0,_hapticUtils.triggerHaptic)(t),e.onPress()},style:({pressed:t})=>[S.actionBtn,"md"===e.size&&S.actionBtnMd,"outline"===n&&{borderWidth:1,borderColor:s},{backgroundColor:o?i:t?R.colors["surface-pressed"]:"transparent",opacity:o&&t?.85:1},j],children:(0,_jsxRuntime.jsx)(_index4.Text,{variant:"bodySmall",weight:"semibold",align:"center",style:{color:o?a:s},children:e.label})},`${e.label}-${t}`)})}):null]});return m?(0,_jsxRuntime.jsx)(BannerSkeleton,{...e}):P});Banner.displayName="Banner";const BannerSkeleton=({title:e,actions:t,icon:r,containerStyle:n,style:i})=>{const s=(0,_index.useTheme)(),a=!1!==r;return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[{flexDirection:"row",alignItems:"flex-start",backgroundColor:s.colors.surface,borderRadius:s.radius.md,..._corners.smoothCorners,padding:s.space.md,borderWidth:1,borderColor:s.colors.border},n,i],accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,children:[a?(0,_jsxRuntime.jsx)(_reactNative.View,{style:{marginRight:s.space.sm},children:(0,_jsxRuntime.jsx)(_index3.Skeleton,{shape:"circle",width:32,height:32})}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:{flex:1},children:[void 0!==e?(0,_jsxRuntime.jsx)(_index3.Skeleton,{shape:"text",width:"55%",height:16,style:{marginBottom:s.space.xs}}):null,(0,_jsxRuntime.jsx)(_index3.SkeletonText,{lines:2,fontSize:s.text.sm.size,lastLineWidth:"70%"}),t&&t.length>0?(0,_jsxRuntime.jsx)(_reactNative.View,{style:{flexDirection:"row",marginTop:s.space.sm},children:t.map((e,t)=>(0,_jsxRuntime.jsx)(_index3.Skeleton,{width:72,height:28,shape:"rounded",style:{marginRight:s.space.sm}},`sk-banner-action-${t}`))}):null]})]})};BannerSkeleton.displayName="BannerSkeleton",Banner.Skeleton=BannerSkeleton;const tintFor=(e,t)=>{switch(t){case"success":return{soft:e.colors["success-soft"],bar:e.colors.success,glyphColor:e.colors.success,ink:e.colors["success-text"],on:e.colors["on-success"],glyph:"✓"};case"warning":return{soft:e.colors["warning-soft"],bar:e.colors.warning,glyphColor:e.colors.warning,ink:e.colors["warning-text"],on:e.colors["on-warning"],glyph:"⚠"};case"danger":return{soft:e.colors["danger-soft"],bar:e.colors.danger,glyphColor:e.colors.danger,ink:e.colors["danger-text"],on:e.colors["on-danger"],glyph:"✗"};case"neutral":return{soft:e.colors["bg-subtle"],bar:e.colors["text-subtle"],glyphColor:e.colors["text-muted"],ink:e.colors["text-muted"],on:e.colors["on-neutral-strong"],glyph:"i"};case"primary":return{soft:e.colors["primary-soft"],bar:e.colors.primary,glyphColor:e.colors.primary,ink:e.colors["primary-text"],on:e.colors["on-primary"],glyph:"i"};case"info":return{soft:e.colors["info-soft"],bar:e.colors.info,glyphColor:e.colors.info,ink:e.colors["info-text"],on:e.colors["on-info"],glyph:"i"};default:return tintFor(e,"neutral")}},ICON_CIRCLE_SIZE=28,buildStyles=e=>{const t=e.components.banner,r=e.space.sm;return _reactNative.StyleSheet.create({container:{overflow:"hidden",paddingLeft:e.space.md},tintBar:{position:"absolute",left:0,top:0,bottom:0,width:t["tint-bar-width"]},row:{flexDirection:"row",alignItems:"flex-start"},rowCentred:{alignItems:"center"},iconWrap:{marginRight:r},iconCircle:{marginRight:r},iconGlyph:{lineHeight:17},textBlock:{flex:1,paddingRight:e.space.xs},closeBtn:{width:28,height:28,borderRadius:e.radius.pill,..._corners.smoothCorners,alignItems:"center",justifyContent:"center",marginLeft:e.space.xxs},actionsRow:{flexDirection:"row",flexWrap:"wrap",justifyContent:"flex-end",marginTop:e.space.xs,columnGap:e.space.xs,rowGap:e.space.xs},actionBtn:{paddingHorizontal:e.space.sm,paddingVertical:e.space.xs,borderRadius:e.radius.sm,..._corners.smoothCorners,maxWidth:"100%",alignItems:"center",justifyContent:"center"},actionBtnMd:{minHeight:44,paddingHorizontal:e.space.md}})};var _default=exports.default=Banner;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.ForceUpdateDialog=exports.DEFAULT_FORCE_UPDATE_DIALOG_LABELS=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_index=require("../Dialog/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_FORCE_UPDATE_DIALOG_LABELS=exports.DEFAULT_FORCE_UPDATE_DIALOG_LABELS={title:"Update available",message:"A new version of the app is available. Please update to continue using the latest features and security improvements.",update:"Update now",later:"Later"},ForceUpdateDialog=({visible:e,onClose:t,mandatory:a=!1,updateUrl:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.ForceUpdateDialog=exports.DEFAULT_FORCE_UPDATE_DIALOG_LABELS=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_index2=require("../Dialog/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_FORCE_UPDATE_DIALOG_LABELS=exports.DEFAULT_FORCE_UPDATE_DIALOG_LABELS={title:"Update available",message:"A new version of the app is available. Please update to continue using the latest features and security improvements.",update:"Update now",later:"Later"},STORE_FALLBACK_COPY="We could not open the store. Update from this address instead.",styles=_reactNative.StyleSheet.create({fallback:{alignItems:"center"},fallbackCopy:{textAlign:"center"},fallbackLink:{textAlign:"center",textDecorationLine:"underline"}}),ForceUpdateDialog=({visible:e,onClose:t,mandatory:a=!1,updateUrl:l,updateFallbackUrl:i,title:o,message:r,labels:s,containerStyle:n,titleStyle:c,messageStyle:d,testID:_})=>{const u=(0,_index.useTheme)(),[p,b]=(0,_react.useState)(!1),[x,m]=(0,_react.useState)(!1),g=(0,_react.useMemo)(()=>({...DEFAULT_FORCE_UPDATE_DIALOG_LABELS,...s}),[s]),L=(0,_react.useCallback)(()=>{b(!0),m(!1),(async()=>{let e=!1;try{e=await _mobileCore.VersionCheck.openUpdateUrl(l??null)}catch(e){_mobileCore.Logger.error("[@webority/mobile-ui] ForceUpdateDialog failed to open the store URL.",e)}finally{b(!1),m(!e)}})()},[l]),y=(0,_react.useCallback)(e=>{_reactNative.Linking.openURL(e).catch(e=>{_mobileCore.Logger.error("[@webority/mobile-ui] ForceUpdateDialog failed to open the fallback address.",e)})},[]),A=x?i:null,D=A?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:styles.fallback,children:[(0,_jsxRuntime.jsx)(_reactNative.Text,{style:[styles.fallbackCopy,{color:u.colors["text-muted"],fontSize:u.text.base.size,lineHeight:u.text.base.size*u.leading.body}],children:STORE_FALLBACK_COPY}),(0,_jsxRuntime.jsx)(_reactNative.Text,{accessibilityRole:"link",onPress:()=>y(A),style:[styles.fallbackLink,{color:u.colors.link,fontSize:u.text.base.size,marginTop:u.space.xs}],children:A})]}):null,U=(0,_react.useCallback)(()=>{a||t?.()},[a,t]),f=a?[{label:g.update,onPress:L,tone:"info",loading:p}]:[{label:g.later,onPress:U,tone:"neutral"},{label:g.update,onPress:L,tone:"info",loading:p}];return(0,_jsxRuntime.jsx)(_index2.Dialog,{visible:e,onClose:U,title:o??g.title,message:r??g.message,tone:"info",actions:f,dismissOnAction:!1,containerStyle:n,titleStyle:c,messageStyle:d,testID:_,children:D})};exports.ForceUpdateDialog=ForceUpdateDialog;var _default=exports.default=ForceUpdateDialog;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.KeyboardAwareScrollView=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeKeyboardController=require("react-native-keyboard-controller"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_index=require("../../theme/index.js"),_jsxRuntime=require("react/jsx-runtime");const tapAreaStyle={flexGrow:1},KeyboardAwareScrollView=exports.KeyboardAwareScrollView=(0,_react.forwardRef)((e,r)=>{const{children:t,bottomOffset:o=24,extraKeyboardSpace:a=0,safeAreaEdges:i=["bottom"],refreshing:s=!1,onRefresh:l,dismissOnTapOutside:n=!
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.KeyboardAwareScrollView=void 0;var _react=require("react"),_reactNative=require("react-native"),_reactNativeKeyboardController=require("react-native-keyboard-controller"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_index=require("../../theme/index.js"),_jsxRuntime=require("react/jsx-runtime");const tapAreaStyle={flexGrow:1},KeyboardAwareScrollView=exports.KeyboardAwareScrollView=(0,_react.forwardRef)((e,r)=>{const{children:t,bottomOffset:o=24,extraKeyboardSpace:a=0,safeAreaEdges:i=["bottom"],refreshing:s=!1,onRefresh:l,dismissOnTapOutside:n=!0,contentContainerStyle:d,refreshControl:c,...u}=e,f=(0,_index.useTheme)(),b=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),y=i.includes("bottom"),p={paddingBottom:y?b.bottom:0,...i.includes("top")?{paddingTop:b.top}:null,...i.includes("left")?{paddingLeft:b.left}:null,...i.includes("right")?{paddingRight:b.right}:null},x=c??(l?(0,_jsxRuntime.jsx)(_reactNative.RefreshControl,{refreshing:s,onRefresh:l,tintColor:f.colors.primary,colors:[f.colors.primary],progressBackgroundColor:f.colors.surface,titleColor:f.colors["text-muted"]}):void 0);return(0,_jsxRuntime.jsx)(_reactNativeKeyboardController.KeyboardAwareScrollView,{ref:r,bottomOffset:o,extraKeyboardSpace:a-(y?b.bottom:0),disableScrollOnKeyboardHide:!0,keyboardShouldPersistTaps:"handled",keyboardDismissMode:"none",contentContainerStyle:[d,p],refreshControl:x,...u,children:n?(0,_jsxRuntime.jsx)(_reactNative.Pressable,{accessible:!1,onPress:_reactNative.Keyboard.dismiss,style:tapAreaStyle,children:t}):t})});KeyboardAwareScrollView.displayName="KeyboardAwareScrollView";var _default=exports.default=KeyboardAwareScrollView;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Markdown=
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Markdown=Markdown;var _markdownCore=require("@webority/markdown-core"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_corners=require("../../utils/corners.js"),_index2=require("../Skeleton/index.js"),_index3=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const MONO=_reactNative.Platform.select({ios:"Menlo",android:"monospace",default:"monospace"}),HEADING_SCALE={1:"3xl",2:"2xl",3:"xl",4:"lg",5:"base",6:"sm"},createStyles=e=>_reactNative.StyleSheet.create({block:{marginBottom:e.space.sm},listRow:{flexDirection:"row",marginBottom:e.space.xs},marker:{width:e.space.lg},listText:{flex:1},quote:{borderLeftWidth:3,borderLeftColor:e.colors["border-subtle"],paddingLeft:e.space.sm,marginBottom:e.space.sm},quoteText:{color:e.colors["text-muted"],fontStyle:"italic"},code:{backgroundColor:e.colors["bg-subtle"],borderRadius:e.radius.sm,..._corners.smoothCorners,padding:e.space.sm,marginBottom:e.space.sm},codeText:{fontFamily:MONO},inlineCode:{fontFamily:MONO,backgroundColor:e.colors["bg-subtle"],color:e.colors["text-body"]},link:{color:e.colors.link,textDecorationLine:"underline"},strong:{fontWeight:e.weight.bold},em:{fontStyle:"italic"},strike:{textDecorationLine:"line-through"},table:{borderWidth:_reactNative.StyleSheet.hairlineWidth,borderColor:e.colors.border},row:{flexDirection:"row"},headerRow:{backgroundColor:e.colors["bg-subtle"]},cell:{minWidth:96,maxWidth:220,padding:e.space.xs,borderRightWidth:_reactNative.StyleSheet.hairlineWidth,borderBottomWidth:_reactNative.StyleSheet.hairlineWidth,borderColor:e.colors.border},rule:{height:_reactNative.StyleSheet.hairlineWidth,backgroundColor:e.colors.border,marginVertical:e.space.md}}),withPositionKeys=e=>e.map((e,t)=>({key:t,value:e})),openHref=(e,t)=>{t?t(e):_reactNative.Linking.openURL(e).catch(()=>{})};function Inline({tokens:e,ctx:t}){const{styles:i}=t;return(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{children:e.map(e=>{switch(e.type){case"text":return(0,_jsxRuntime.jsx)(_reactNative.Text,{children:e.text},e.key);case"code":return(0,_jsxRuntime.jsx)(_reactNative.Text,{style:i.inlineCode,children:e.text},e.key);case"strong":return(0,_jsxRuntime.jsx)(_reactNative.Text,{style:i.strong,children:(0,_jsxRuntime.jsx)(Inline,{tokens:e.children,ctx:t})},e.key);case"em":return(0,_jsxRuntime.jsx)(_reactNative.Text,{style:i.em,children:(0,_jsxRuntime.jsx)(Inline,{tokens:e.children,ctx:t})},e.key);case"strike":return(0,_jsxRuntime.jsx)(_reactNative.Text,{style:i.strike,children:(0,_jsxRuntime.jsx)(Inline,{tokens:e.children,ctx:t})},e.key);case"image":return(0,_jsxRuntime.jsxs)(_reactNative.Text,{children:["[",(0,_jsxRuntime.jsx)(Inline,{tokens:e.children,ctx:t}),"]"]},e.key);case"link":return renderLink(e.key,e.href,e.children,t);default:return null}})})}function renderLink(e,t,i,n){const{styles:r,links:s,resolveLink:o,onAppLinkPress:l,onLinkPress:a}=n,c=(0,_jsxRuntime.jsx)(Inline,{tokens:i,ctx:n}),x=(0,_markdownCore.linkTarget)(t,s,o);return null===x?(0,_jsxRuntime.jsx)(_reactNative.Text,{children:c},e):"app"===x.kind?l?(0,_jsxRuntime.jsx)(_reactNative.Text,{accessibilityRole:"link",style:r.link,onPress:()=>l(x.target),children:c},e):(0,_jsxRuntime.jsx)(_reactNative.Text,{children:c},e):(0,_jsxRuntime.jsx)(_reactNative.Text,{accessibilityRole:"link",style:r.link,onPress:()=>openHref(x.href,a),children:c},e)}function RenderBlock({block:e,ctx:t}){const{theme:i,styles:n,textStyle:r,headings:s}=t;switch(e.type){case"heading":return(0,_jsxRuntime.jsx)(_index3.Text,{variant:"body",weight:"outline"===s?"semibold":"bold",size:"outline"===s?HEADING_SCALE[e.level]:void 0,accessibilityRole:"header",style:[n.block,r],children:(0,_jsxRuntime.jsx)(Inline,{tokens:(0,_markdownCore.parseInline)(e.text),ctx:t})});case"paragraph":return(0,_jsxRuntime.jsx)(_index3.Text,{variant:"body",style:[n.block,r],children:(0,_jsxRuntime.jsx)(Inline,{tokens:(0,_markdownCore.parseInline)(e.lines.join("\n")),ctx:t})});case"list":return(0,_jsxRuntime.jsx)(_reactNative.View,{children:withPositionKeys(e.items).map(({key:e,value:s})=>(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[n.listRow,{marginLeft:s.depth*i.space.md}],children:[(0,_jsxRuntime.jsx)(_index3.Text,{variant:"body",style:[n.marker,r],children:s.ordered?`${s.number}.`:"•"}),(0,_jsxRuntime.jsx)(_index3.Text,{variant:"body",style:[n.listText,r],children:(0,_jsxRuntime.jsx)(Inline,{tokens:(0,_markdownCore.parseInline)(s.text),ctx:t})})]},e))});case"table":return(0,_jsxRuntime.jsx)(_reactNative.ScrollView,{horizontal:!0,showsHorizontalScrollIndicator:!1,style:n.block,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:n.table,children:withPositionKeys([e.header,...e.rows]).map(({key:i,value:s})=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:[n.row,0===i&&n.headerRow],children:withPositionKeys(e.header).map(({key:e})=>(0,_jsxRuntime.jsx)(_reactNative.View,{style:n.cell,children:(0,_jsxRuntime.jsx)(_index3.Text,{variant:"bodySmall",weight:0===i?"semibold":void 0,style:r,children:(0,_jsxRuntime.jsx)(Inline,{tokens:(0,_markdownCore.parseInline)(s[e]??""),ctx:t})})},e))},i))})});case"code":return(0,_jsxRuntime.jsx)(_reactNative.ScrollView,{horizontal:!0,style:n.code,children:(0,_jsxRuntime.jsx)(_index3.Text,{variant:"body",size:"sm",selectable:!0,style:n.codeText,children:e.text})});case"quote":return(0,_jsxRuntime.jsx)(_reactNative.View,{style:n.quote,children:(0,_jsxRuntime.jsx)(_index3.Text,{variant:"body",style:[n.quoteText,r],children:(0,_jsxRuntime.jsx)(Inline,{tokens:(0,_markdownCore.parseInline)(e.lines.join("\n")),ctx:t})})});case"rule":return(0,_jsxRuntime.jsx)(_reactNative.View,{style:n.rule});default:return null}}const MarkdownSkeleton=({style:e,testID:t})=>{const i=(0,_index.useTheme)();return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:e,testID:t,children:[(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"70%",height:20,style:{marginBottom:i.space.sm}}),(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"100%",height:14,style:{marginBottom:i.space.xs}}),(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"92%",height:14,style:{marginBottom:i.space.xs}}),(0,_jsxRuntime.jsx)(_index2.Skeleton,{shape:"text",width:"60%",height:14})]})};function Markdown({children:e,links:t="web",headings:i="outline",resolveLink:n,onAppLinkPress:r,onLinkPress:s,loading:o=!1,style:l,textStyle:a,testID:c}){const x=(0,_index.useTheme)(),d=(0,_react.useMemo)(()=>createStyles(x),[x]),u=(0,_react.useMemo)(()=>(0,_markdownCore.parseMarkdown)(e??""),[e]);if(o)return(0,_jsxRuntime.jsx)(MarkdownSkeleton,{style:l,testID:c});if(0===u.length)return null;const m={theme:x,styles:d,links:t,headings:i,textStyle:a,resolveLink:n,onAppLinkPress:r,onLinkPress:s};return(0,_jsxRuntime.jsx)(_reactNative.View,{style:l,testID:c,children:u.map(e=>(0,_jsxRuntime.jsx)(RenderBlock,{block:e,ctx:m},e.key))})}Markdown.displayName="Markdown";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.MessageBubble=exports.DEFAULT_MESSAGE_BUBBLE_LABELS=void 0;var _mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_announce=require("../../utils/announce.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index2=require("../AppIcon/index.js"),_index3=require("../Button/index.js"),_index4=require("../Markdown/index.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.MessageBubble=exports.DEFAULT_MESSAGE_BUBBLE_LABELS=void 0;var _markdownCore=require("@webority/markdown-core"),_mobileCore=require("@webority/mobile-core"),_react=require("react"),_reactNative=require("react-native"),_index=require("../../theme/index.js"),_announce=require("../../utils/announce.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index2=require("../AppIcon/index.js"),_index3=require("../Button/index.js"),_index4=require("../Markdown/index.js"),_useContextMenu=require("../Menu/useContextMenu.js"),_index5=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_MESSAGE_BUBBLE_LABELS=exports.DEFAULT_MESSAGE_BUBBLE_LABELS=Object.freeze({you:"You",sending:"Sending",sent:"Sent",delivered:"Delivered",read:"Read",failed:"Not sent",retry:"Try again",copy:"Copy",replyTo:e=>e?`Reply to ${e}`:"Reply"}),MAX_WIDTH="85%",STATUS_ICON=14,statusIcon=e=>{switch(e){case"sending":return"clock";case"sent":return"check";case"failed":return"alert-circle";default:return"check-check"}},statusColour=(e,t)=>{switch(t){case"read":return e.colors["info-text"];case"failed":return e.colors["danger-text"];default:return e.colors["text-subtle"]}},MessageBubble=({side:e,text:t,children:s,markdown:r,groupPosition:n="single",author:i,time:a,status:o,replyTo:l,streaming:u=!1,error:c,onRetry:d,actions:x,onCopy:b,onLongPress:m,footer:_,labels:p,haptic:y,style:h,testID:g})=>{(0,_warnInvalidValue.warnInvalidValue)("MessageBubble","side",e,["mine","theirs"]),(0,_warnInvalidValue.warnInvalidValue)("MessageBubble","groupPosition",n,["single","first","middle","last"]),(0,_warnInvalidValue.warnInvalidValue)("MessageBubble","status",o,["sending","sent","delivered","read","failed"]);const f=(0,_index.useTheme)(),j=(0,_react.useMemo)(()=>buildStyles(f),[f]),v=p?{...DEFAULT_MESSAGE_BUBBLE_LABELS,...p}:DEFAULT_MESSAGE_BUBBLE_LABELS,B="mine"===e,L=!c&&(r??"theirs"===e),T="single"===n||"first"===n,R="single"===n||"last"===n,E=null==a?"":(0,_mobileCore.formatTime)(a),M=("failed"===o||Boolean(c))&&Boolean(d),S=B?v.you:i??"",w=(0,_react.useMemo)(()=>{const e=[];return b&&!x?.some(e=>"copy"===e.name)&&e.push({name:"copy",label:v.copy,onPress:()=>b(t)}),x&&e.push(...x),l?.onPress&&e.push({name:"openReply",label:v.replyTo(l.author),onPress:l.onPress}),M&&d&&e.push({name:"retry",label:v.retry,onPress:d}),e},[x,b,t,l,M,d,v]),A=(x?.length??0)>0||Boolean(b),I=(0,_react.useMemo)(()=>A?{items:w.map(({name:e,label:t,onPress:s})=>({key:e,label:t,onPress:s}))}:void 0,[A,w]),P=(0,_useContextMenu.useContextMenu)(I,{haptic:y,testID:g}),C=P.hostProps.onLongPress,k=!s||(x?.length??0)>0,q=o&&B?v[o]:"",D=(0,_react.useMemo)(()=>L&&null==s?(0,_markdownCore.markdownToPlainText)(t):t,[L,s,t]),V=[S,E,D,l?`${v.replyTo(l.author)}: ${l.text}`:"",q].filter(Boolean).join(", "),$=(0,_react.useRef)(u);(0,_react.useEffect)(()=>{$.current&&!u&&!c&&t&&(0,_announce.announce)(S?`${S}, ${D}`:D),$.current=u},[u,c,t,D,S]);const U=(0,_react.useRef)(c);(0,_react.useEffect)(()=>{c&&c!==U.current&&(0,_announce.announce)(c,{polite:!1}),U.current=c},[c]);const N=(0,_react.useCallback)(e=>{C?.(e),m?.()},[C,m]),F=(0,_react.useCallback)(e=>{w.find(t=>t.name===e.nativeEvent.actionName)?.onPress()},[w]),z=f.radius.xl,H=f.radius.sm,O=B?{borderTopRightRadius:T?z:H,borderBottomRightRadius:R?z:H}:{borderTopLeftRadius:T?z:H,borderBottomLeftRadius:R?z:H},G=s??(L?(0,_jsxRuntime.jsx)(_index4.Markdown,{children:t}):(0,_jsxRuntime.jsx)(_index5.Text,{variant:"body",children:t})),W=l?(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:l.onPress,disabled:!l.onPress,accessibilityRole:l.onPress?"button":void 0,accessibilityLabel:`${v.replyTo(l.author)}: ${l.text}`,style:j.quote,children:[l.author?(0,_jsxRuntime.jsx)(_index5.Text,{variant:"caption",weight:"semibold",color:"link",numberOfLines:1,children:l.author}):null,(0,_jsxRuntime.jsx)(_index5.Text,{variant:"bodySmall",color:"secondary",numberOfLines:2,children:l.text})]}):null,X=[j.bubble,B?j.mine:j.theirs,O],Y=k?{accessible:!0,accessibilityLabel:V,accessibilityState:{busy:u},"aria-busy":u,accessibilityActions:w.map(({name:e,label:t})=>({name:e,label:t})),onAccessibilityAction:F}:{accessible:!1},J=A?(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{ref:P.hostRef,...P.hostProps,onLongPress:N,delayLongPress:350,style:X,testID:g?`${g}-bubble`:void 0,...Y,children:[W,G]}):(0,_jsxRuntime.jsxs)(_reactNative.View,{style:X,testID:g?`${g}-bubble`:void 0,...Y,children:[W,G]}),K=R&&(""!==E||B&&o);return(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[j.root,B?j.rootMine:j.rootTheirs,{marginTop:T?f.space.sm:f.space.xxs},h],testID:g,children:[!B&&T&&i?(0,_jsxRuntime.jsx)(_index5.Text,{variant:"caption",color:"secondary",style:j.author,numberOfLines:1,importantForAccessibility:k?"no-hide-descendants":"auto",accessibilityElementsHidden:k,children:i}):null,J,P.renderSurface(),K?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[j.meta,B?j.metaMine:null],importantForAccessibility:k?"no-hide-descendants":"auto",accessibilityElementsHidden:k,children:[E?(0,_jsxRuntime.jsx)(_index5.Text,{variant:"caption",color:"tertiary",children:E}):null,B&&o?(0,_jsxRuntime.jsx)(_index2.AppIcon,{name:statusIcon(o),size:14,color:statusColour(f,o),accessibilityLabel:v[o],testID:g?`${g}-status-${o}`:void 0}):null]}):null,c?(0,_jsxRuntime.jsx)(_index5.Text,{variant:"bodySmall",color:"danger",style:B?j.endText:null,children:c}):null,M?(0,_jsxRuntime.jsx)(_index3.Button,{label:v.retry,variant:"link",size:"sm",leftIcon:"refresh-cw",onPress:d,testID:g?`${g}-retry`:void 0}):null,_]})};exports.MessageBubble=MessageBubble;const buildStyles=e=>_reactNative.StyleSheet.create({root:{maxWidth:"85%",gap:e.space.xs},rootMine:{alignSelf:"flex-end",alignItems:"flex-end"},rootTheirs:{alignSelf:"flex-start",alignItems:"flex-start"},author:{paddingHorizontal:e.space.md},bubble:{borderRadius:e.radius.xl,..._corners.smoothCorners,paddingHorizontal:e.space.md,paddingVertical:e.space.sm,gap:e.space.xs},mine:{backgroundColor:e.colors["primary-soft"]},theirs:{backgroundColor:e.colors["bg-subtle"]},quote:{borderLeftWidth:3,borderLeftColor:e.colors.primary,paddingLeft:e.space.sm,paddingVertical:e.space.xs},meta:{flexDirection:"row",alignItems:"center",gap:e.space.xs,paddingHorizontal:e.space.xs},metaMine:{justifyContent:"flex-end"},endText:{textAlign:"right"}});var _default=exports.default=MessageBubble;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.NumberInput=exports.DEFAULT_NUMBER_INPUT_LABELS=void 0;var cache,_react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_index4=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var i,r,a=Object.defineProperty,n={__proto__:null,default:e};if(Object(e)!==e)return n;if(cache||"function"!=typeof WeakMap||(cache=new WeakMap),cache){if(cache.has(e))return cache.get(e);cache.set(e,n)}for(r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((i=a&&Object.getOwnPropertyDescriptor(e,r))&&(i.get||i.set)?a(n,r,i):n[r]=e[r]);return n}const NUMBER_INPUT_SIZES=["sm","md","lg"],NUMBER_INPUT_VARIANTS=["inline","horizontal"
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.NumberInput=exports.DEFAULT_NUMBER_INPUT_LABELS=void 0;var cache,_react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_FieldBase=require("../FieldBase/FieldBase.js"),_index4=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var i,r,a=Object.defineProperty,n={__proto__:null,default:e};if(Object(e)!==e)return n;if(cache||"function"!=typeof WeakMap||(cache=new WeakMap),cache){if(cache.has(e))return cache.get(e);cache.set(e,n)}for(r in e)"default"!==r&&{}.hasOwnProperty.call(e,r)&&((i=a&&Object.getOwnPropertyDescriptor(e,r))&&(i.get||i.set)?a(n,r,i):n[r]=e[r]);return n}const NUMBER_INPUT_SIZES=["sm","md","lg"],NUMBER_INPUT_VARIANTS=["inline","horizontal"],DEFAULT_NUMBER_INPUT_LABELS=exports.DEFAULT_NUMBER_INPUT_LABELS=Object.freeze({decrease:"Decrease",increase:"Increase",input:"Number input"}),DEFAULT_LONG_PRESS_DELAY=500,DEFAULT_LONG_PRESS_INTERVAL=80,roundToPrecision=(e,t)=>{if(!Number.isFinite(e))return 0;if(t<=0)return Math.round(e);const i=10**t;return Math.round(e*i)/i},clamp=(e,t,i)=>e<t?t:e>i?i:e,formatValue=(e,t,i)=>Number.isFinite(e)?t&&i>0?e.toFixed(i):String(Math.trunc(e)):"",sanitizeTyped=(e,t)=>{if(!e)return"";let i=e.replace(/[^0-9.-]/g,"");if(i=i.replace(/(?!^)-/g,""),t){const e=i.indexOf(".");-1!==e&&(i=i.slice(0,e+1)+i.slice(e+1).replace(/\./g,""))}else i=i.replace(/\./g,"");return i},NumberInput=exports.NumberInput=(0,_react.forwardRef)((e,t)=>{const{value:i,defaultValue:r,onChange:a,min:n=Number.NEGATIVE_INFINITY,max:s=Number.POSITIVE_INFINITY,step:l=1,allowDecimal:c=!1,precision:u=0,label:o,help:d,helperText:_,error:b,disabled:m=!1,size:p="md",variant:x="inline",unit:f,haptic:N,labels:h,accessibilityLabel:y,style:I,containerStyle:T,inputStyle:j,buttonStyle:S,unitStyle:g,labelStyle:v,textInputProps:R,testID:F}=e;(0,_warnInvalidValue.warnInvalidValue)("NumberInput","size",e.size,NUMBER_INPUT_SIZES),(0,_warnInvalidValue.warnInvalidValue)("NumberInput","variant",e.variant,NUMBER_INPUT_VARIANTS);const E=(0,_react.useMemo)(()=>({...DEFAULT_NUMBER_INPUT_LABELS,...h}),[h]),[L,P]=(0,_index.useControllableState)({value:i,defaultValue:r??e.min??0,onChange:a}),w=(0,_index2.useTheme)(),B=(0,_index2.resolveFieldSize)(w,p),V=(0,_FieldBase.resolveFieldTextStyle)(w,{disabled:m}),A=(0,_react.useMemo)(()=>buildStyles(w),[w]),U=(0,_react.useRef)(null),[C,z]=(0,_react.useState)(formatValue(L,c,u)),[M,k]=(0,_react.useState)(!1),[D,O]=(0,_react.useState)(!1),q=(0,_react.useCallback)(()=>{m||U.current?.focus()},[m]),W=(0,_react.useRef)(null),H=(0,_react.useRef)(null),G=(0,_react.useCallback)(()=>{null!==W.current&&(clearTimeout(W.current),W.current=null),null!==H.current&&(clearInterval(H.current),H.current=null)},[]);(0,_react.useEffect)(()=>G,[G]),(0,_react.useEffect)(()=>{M||z(formatValue(L,c,u))},[L,c,u,M]);const Y=L<=n,Z=L>=s,$=!m,J=(0,_react.useCallback)(e=>{const t=roundToPrecision(e,c?u:0),i=clamp(t,n,s);i!==L&&P(i)},[c,s,n,P,u,L]),K=(0,_react.useCallback)(()=>{if(!$||Y)return;const e=(0,_index3.resolveHaptic)(N,"selection");e&&(0,_index3.triggerHaptic)(e),J(L-l)},[Y,$,N,J,l,L]),Q=(0,_react.useCallback)(()=>{if(!$||Z)return;const e=(0,_index3.resolveHaptic)(N,"selection");e&&(0,_index3.triggerHaptic)(e),J(L+l)},[Z,$,N,J,l,L]);_react.default.useImperativeHandle(t,()=>({focus:()=>U.current?.focus(),blur:()=>U.current?.blur(),clear:()=>{z(""),Number.isFinite(n)&&n>0?P(n):P(0<n?n:0>s?s:0)}}),[s,n,P]);const X=(0,_react.useCallback)(e=>{$&&(G(),W.current=setTimeout(()=>{H.current=setInterval(()=>{"inc"===e?Q():K()},80)},500))},[G,K,Q,$]),ee=(0,_react.useCallback)(e=>{const t=sanitizeTyped(e,c);z(t);const i=Number(t);""!==t&&"-"!==t&&"."!==t&&Number.isFinite(i)&&i>=n&&i<=s&&i!==L&&P(roundToPrecision(i,c?u:0))},[c,s,n,P,u,L]),te=(0,_react.useCallback)(()=>{k(!1),O(!1);const e=Number(C);if(""===C||!Number.isFinite(e))return void z(formatValue(L,c,u));const t=roundToPrecision(e,c?u:0),i=clamp(t,n,s);i!==L&&P(i),z(formatValue(i,c,u))},[c,C,s,n,P,u,L]),ie=(0,_react.useCallback)(()=>{k(!0),O(!0)},[]),re=Y||m?w.colors["text-disabled"]:w.colors["text-body"],ae=Z||m?w.colors["text-disabled"]:w.colors["text-body"],ne=B.icon+8,renderStepper=(e,t,i,r,a,n)=>(0,_jsxRuntime.jsx)(_reactNative.Pressable,{onPress:t,onLongPress:()=>X(e),onPressOut:G,delayLongPress:500,disabled:i,accessibilityRole:"button",accessibilityLabel:r,accessibilityState:{disabled:i},"aria-disabled":i,style:({pressed:e})=>[{width:ne,height:ne,alignItems:"center",justifyContent:"center",borderRadius:w.radius.pill,..._corners.smoothCorners},e&&!i?{backgroundColor:w.colors["surface-pressed"]}:null,S],testID:`${F??"numberinput"}-${"inc"===e?"plus":"minus"}`,children:(0,_jsxRuntime.jsx)(_index4.Text,{variant:"body",weight:"semibold",style:{fontSize:B.icon,color:a,fontWeight:w.weight.semibold,lineHeight:B.icon+2},children:n})}),se=y??(0,_FieldBase.fieldTextAsString)(o)??E.input,le=!0===b||(0,_FieldBase.hasFieldText)(b),ce=(0,_jsxRuntime.jsx)(_FieldBase.FieldBase,{size:p,disabled:m,error:le,filled:!0,focused:D,onPress:q,pressFeedback:!1,leading:renderStepper("dec",K,Y||m,E.decrease,re,"−"),trailing:renderStepper("inc",Q,Z||m,E.increase,ae,"+"),children:(0,_jsxRuntime.jsxs)(_reactNative.View,{style:A.inputRow,children:[(0,_jsxRuntime.jsx)(_reactNative.TextInput,{ref:U,value:C,onChangeText:ee,onFocus:ie,onBlur:te,editable:!m,keyboardType:c?"decimal-pad":"number-pad",selectTextOnFocus:!0,accessibilityRole:"adjustable",accessibilityLabel:se,accessibilityValue:{now:Number.isFinite(L)?L:0},accessibilityState:{disabled:m},"aria-disabled":m,accessibilityActions:[{name:"increment",label:E.increase},{name:"decrement",label:E.decrease}],onAccessibilityAction:e=>{"increment"===e.nativeEvent.actionName&&Q(),"decrement"===e.nativeEvent.actionName&&K()},style:[A.input,{fontSize:B.text,color:V.color,...V.weightStyle},j],...R}),f?(0,_jsxRuntime.jsx)(_index4.Text,{variant:"bodySmall",style:[A.unit,{fontSize:B.text,color:V.placeholderColor},g],children:f}):null]})}),ue=(0,_FieldBase.hasFieldText)(o)?(0,_jsxRuntime.jsx)(_FieldBase.FieldLabel,{size:p,help:d,style:v,children:o}):null,oe=(0,_jsxRuntime.jsx)(_FieldBase.FieldMessage,{size:p,error:le,text:le?b:_});return"horizontal"===x?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[A.horizontalContainer,I,T],testID:F,accessibilityState:{disabled:m},"aria-disabled":m,children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:A.horizontalLabelWrap,children:ue}),(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[ce,oe]})]}):(0,_jsxRuntime.jsxs)(_reactNative.View,{style:[I,T],testID:F,accessibilityState:{disabled:m},"aria-disabled":m,children:[ue,ce,oe]})});NumberInput.displayName="NumberInput";const buildStyles=e=>_reactNative.StyleSheet.create({inputRow:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center"},input:{flex:1,textAlign:"center",padding:e.space.none,margin:e.space.none,includeFontPadding:!1},unit:{marginLeft:e.space.xs},label:{marginBottom:e.space.xs},helper:{marginTop:e.space.xs},horizontalContainer:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},horizontalLabelWrap:{flexShrink:1,paddingRight:e.space.md}});var _default=exports.default=NumberInput;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Screen=Screen;var _react=require("react"),_reactNative=require("react-native"),_reactNativeKeyboardController=require("react-native-keyboard-controller"),_reactNativeReanimated=require("react-native-reanimated"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_useRefreshControl=require("../../hooks/useRefreshControl.js"),_index=require("../../theme/index.js"),_index2=require("../AppBar/index.js"),_index3=require("../AsyncBlock/index.js"),_index4=require("../EmptyState/index.js"),_index5=require("../KeyboardAwareScrollView/index.js"),_index6=require("../KeyboardToolbar/index.js"),_index7=require("../PagedListFooter/index.js"),_ScrollHost=require("./ScrollHost.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_EDGES=["top","bottom"],SCROLL_EVENT_THROTTLE=16,noop=()=>{};function renderFooter(e){return(0,_react.isValidElement)(e)?e:e?(0,_react.createElement)(e):null}const buildStyles=e=>_reactNative.StyleSheet.create({flex:{flex:1},root:{flex:1,backgroundColor:e.colors.bg},overlay:{position:"absolute",top:0,left:0,right:0},footer:{backgroundColor:e.colors.bg,borderTopWidth:_reactNative.StyleSheet.hairlineWidth,borderTopColor:e.colors.border}});function Screen(e){const{title:t,subtitle:r,largeTitle:o=!0,onBack:n,rightActions:a,leading:i,children:l,onRefresh:s,refreshing:c=!1,footer:d,scroll:u=!0,list:_,edges:
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.Screen=Screen;var _react=require("react"),_reactNative=require("react-native"),_reactNativeKeyboardController=require("react-native-keyboard-controller"),_reactNativeReanimated=require("react-native-reanimated"),_reactNativeSafeAreaContext=require("react-native-safe-area-context"),_useRefreshControl=require("../../hooks/useRefreshControl.js"),_index=require("../../theme/index.js"),_index2=require("../AppBar/index.js"),_index3=require("../AsyncBlock/index.js"),_index4=require("../EmptyState/index.js"),_index5=require("../KeyboardAwareScrollView/index.js"),_index6=require("../KeyboardToolbar/index.js"),_index7=require("../PagedListFooter/index.js"),_ScrollHost=require("./ScrollHost.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_EDGES=["top","bottom"],SCROLL_EVENT_THROTTLE=16,noop=()=>{};function renderFooter(e){return(0,_react.isValidElement)(e)?e:e?(0,_react.createElement)(e):null}const buildStyles=e=>_reactNative.StyleSheet.create({flex:{flex:1},root:{flex:1,backgroundColor:e.colors.bg},overlay:{position:"absolute",top:0,left:0,right:0},footer:{backgroundColor:e.colors.bg,borderTopWidth:_reactNative.StyleSheet.hairlineWidth,borderTopColor:e.colors.border}});function Screen(e){const{title:t,subtitle:r,largeTitle:o=!0,onBack:n,rightActions:a,leading:i,children:l,onRefresh:s,refreshing:c=!1,footer:d,scroll:u=!0,list:_,edges:f=DEFAULT_EDGES,keyboardToolbar:x=!0,bottomInset:m=0,gutter:v,floatingAction:h,scrollRef:g,onScroll:p,contentContainerStyle:y,testID:R}=e,S=(0,_index.useTheme)(),b=v??void 0===_,j=S.space[S.components.screen.gutter],C=b?j:0,E=(0,_reactNativeSafeAreaContext.useSafeAreaInsets)(),T=(0,_react.useMemo)(()=>buildStyles(S),[S]),[L]=(0,_react.useState)(()=>new _reactNative.Animated.Value(0)),[N,k]=(0,_react.useState)(0),[A,V]=(0,_react.useState)(0),q=void 0!==n,O=(0,_react.useRef)(n);O.current=n;const w=Boolean(t||r||n||i||a?.length),B=o&&void 0!==t,F=B&&(void 0!==_||u),H=F?N:0,M=void 0!==d,{refreshControl:D}=(0,_useRefreshControl.useRefreshControl)({onRefresh:s??noop,refreshing:c}),K=s?(0,_react.cloneElement)(D,{progressViewOffset:H}):void 0,P=(0,_reactNativeReanimated.useSharedValue)(0),z=(0,_reactNativeReanimated.useSharedValue)(0),I=(0,_reactNativeReanimated.useSharedValue)(0),W=(0,_reactNativeReanimated.useSharedValue)(0),G=(0,_react.useRef)(null),U=(0,_react.useRef)(0),Y=(0,_react.useRef)(0),J=(0,_react.useMemo)(()=>({top:P,bottom:z,offset:I,maxOffset:W,scrollTo:e=>{const t=G.current;t instanceof _reactNative.FlatList?t.scrollToOffset({offset:e,animated:!1}):t?.scrollTo({y:e,animated:!1})}}),[P,z,I,W]),Q=(0,_react.useCallback)(e=>{G.current=e,"function"==typeof g?g(e):g&&(g.current=e)},[g]),X=(0,_react.useCallback)(()=>{W.value=Math.max(0,U.current-Y.current)},[W]),Z=(0,_react.useRef)(p);Z.current=p;const $=(0,_react.useMemo)(()=>_reactNative.Animated.event([{nativeEvent:{contentOffset:{y:L}}}],{useNativeDriver:!1,listener:e=>{I.value=e.nativeEvent.contentOffset.y,Z.current?.(e)}}),[L,I]),ee=(0,_react.useCallback)(e=>{const{height:t}=e.nativeEvent.layout;k(e=>Math.max(e,t))},[]),te=(0,_react.useCallback)(e=>{V(e.nativeEvent.layout.height)},[]);(0,_react.useEffect)(()=>{if(!q)return;const e=_reactNative.BackHandler.addEventListener("hardwareBackPress",()=>(O.current?.(),!0));return()=>e.remove()},[q]);const re=f.includes("left")?E.left:0,oe=f.includes("right")?E.right:0,ne=f.includes("bottom")?E.bottom:0,ae=f.includes("top")&&!w?E.top:0,ie=S.space[S.components["floating-action-button"]["bottom-offset"]],le=h?(0,_index.resolveFloatingActionButtonSize)(S,h.props.size??"md").diameter+ie+S.space.lg:0,se=M?Math.max(0,A-E.bottom):m,ce=h?(0,_react.cloneElement)(h,{bottomOffset:(h.props.bottomOffset??ie)+se}):null,de=f.filter(e=>"top"!==e&&!("bottom"===e&&M)),ue=w?(0,_jsxRuntime.jsx)(_reactNative.View,{style:F?T.overlay:void 0,onLayout:F?ee:void 0,children:(0,_jsxRuntime.jsx)(_index2.AppBar,{title:t,subtitle:r,variant:B?"large":"default",scrollY:F?L:void 0,onBack:n,rightActions:a,leading:i})}):null,fe=(0,_react.useCallback)(()=>{const e=G.current?.getNativeScrollRef();e&&e.measureInWindow((e,t,r,o)=>{Y.current=o,P.value=t+H,z.value=t+o,X()})},[H,P,z,X]);(0,_react.useEffect)(()=>{fe()},[fe]);const xe=(0,_react.useCallback)((e,t)=>{U.current=t,X()},[X]);let me;if(void 0!==_){const{state:e,paging:t,...r}=_,handleEndReached=e=>{t?.hasMore&&!t.loadingMore&&null==t.errorMore&&t.loadMore(),r.onEndReached?.(e)},o=(0,_jsxRuntime.jsx)(_reactNative.FlatList,{keyboardShouldPersistTaps:"handled",onEndReachedThreshold:t?.5:void 0,...r,ref:Q,refreshControl:K,onScroll:$,onLayout:e=>{fe(),r.onLayout?.(e)},onContentSizeChange:(e,t)=>{xe(e,t),r.onContentSizeChange?.(e,t)},onEndReached:t?handleEndReached:r.onEndReached,ListEmptyComponent:e?.empty?(0,_jsxRuntime.jsx)(_index4.EmptyState,{...e.empty}):void 0,ListFooterComponent:t||r.ListFooterComponent?(0,_jsxRuntime.jsxs)(_jsxRuntime.Fragment,{children:[renderFooter(r.ListFooterComponent),t?(0,_jsxRuntime.jsx)(_index7.PagedListFooter,{paging:t}):null]}):void 0,scrollEventThrottle:SCROLL_EVENT_THROTTLE,style:T.flex,contentContainerStyle:[{paddingTop:H,paddingLeft:re+C,paddingRight:oe+C},{paddingBottom:(M?0:ne)+m+le},r.contentContainerStyle,y]});me=(0,_jsxRuntime.jsx)(_ScrollHost.ScrollHostContext.Provider,{value:J,children:e?(0,_jsxRuntime.jsx)(_index3.AsyncBlock,{loading:e.loading,error:e.error,errorTitle:e.errorTitle,onRetry:e.onRetry,skeleton:e.skeleton,style:[T.flex,{paddingTop:H}],children:o}):o})}else me=u?(0,_jsxRuntime.jsx)(_ScrollHost.ScrollHostContext.Provider,{value:J,children:(0,_jsxRuntime.jsxs)(_index5.KeyboardAwareScrollView,{ref:Q,refreshControl:K,onScroll:$,scrollEventThrottle:SCROLL_EVENT_THROTTLE,onLayout:fe,onContentSizeChange:xe,safeAreaEdges:de,style:T.flex,contentContainerStyle:[{paddingTop:H,paddingHorizontal:C},y],children:[l,m+le>0?(0,_jsxRuntime.jsx)(_reactNative.View,{style:{height:m+le}}):null]})}):(0,_jsxRuntime.jsx)(_reactNative.View,{style:[T.flex,{paddingLeft:re+C,paddingRight:oe+C,paddingBottom:(M?0:ne)+m+le},y],children:l});const ve=M?(0,_jsxRuntime.jsx)(_reactNativeKeyboardController.KeyboardStickyView,{onLayout:te,style:[T.footer,{paddingLeft:re+j,paddingRight:oe+j,paddingBottom:ne+m}],children:d}):null;return(0,_jsxRuntime.jsxs)(_reactNative.View,{testID:R,style:[T.root,{paddingTop:ae}],children:[F?null:ue,me,ve,ce,void 0!==_?l:null,F?ue:null,x?(0,_jsxRuntime.jsx)(_index6.KeyboardToolbar,{}):null]})}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SegmentedControl=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_slotIcon=require("../AppIcon/slotIcon.js"),_index4=require("../FieldBase/index.js"),_SquircleFill=require("../SquircleFill/SquircleFill.js"),_index5=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const LABEL_LINE_HEIGHT_RATIO=1.25,activeInkFor=(e,t)=>{switch(t){case"primary":return e.colors.primary;case"neutral":return e.colors["text-body"];case"success":return e.colors["success-text"];case"warning":return e.colors["warning-text"];case"danger":return e.colors["danger-text"];default:return e.colors["info-text"]}},SegmentedControl=exports.SegmentedControl=(0,_react.forwardRef)((e,t)=>{const{segments:r,label:i,helperText:n,error:l,value:s,defaultValue:a,onChange:o,size:d="md",fullWidth:c=!0,disabled:u=!1,tone:m="primary",variant:x="segmented",radius:g,labelLines:h=1,haptic:_,accessibilityLabel:p,style:b,containerStyle:v,segmentStyle:f,selectedIndicatorStyle:y,textStyle:S,labelStyle:j,testID:w}=e;(0,_warnInvalidValue.warnInvalidValue)("SegmentedControl","size",e.size,["sm","md","lg"]),(0,_warnInvalidValue.warnInvalidValue)("SegmentedControl","tone",e.tone,["primary","success","warning","danger","info","neutral"]),(0,_warnInvalidValue.warnInvalidValue)("SegmentedControl","variant",e.variant,["underline","pills","segmented"]);const[I,C]=(0,_index.useControllableState)({value:s,defaultValue:a??r[0]?.value,onChange:o}),R=(0,_index2.useTheme)(),V=R.components["segmented-control"],q=(0,_react.useMemo)(()=>buildStyles(R),[R]),k=(0,_react.useMemo)(()=>(0,_index2.resolveSegmentedControlSize)(R,d),[R,d]),F=h>=2?2:1,L=F>1,N="segmented"===x,z="underline"===x,M="pills"===x,T=N?R.space[V["track-padding"]]:0,A=Math.ceil(1.25*k.text)*(F-1),E=V["underline-height"],D=R.space[V["pill-inset"]],H="number"==typeof g?g:g?R.radius[g]:void 0,W=H??R.radius.md,B=void 0===H?R.radius.sm:Math.max(H-T,0),P=H??R.radius.pill,O=H??R.radius.none,[G,X]=(0,_react.useState)(0),J=(0,_react.useRef)((0,_index2.createAnimatedValue)(0)).current,K=Math.max(0,r.findIndex(e=>e.value===I)),Q=G>0?(G-2*T)/Math.max(r.length,1):0,U=(0,_react.useCallback)((e,t)=>{if(t<=0)return;const r=t*e,i=R.motion.spring.snappy,n=_reactNative.Animated.spring(J,{toValue:r,damping:i.damping,stiffness:i.stiffness,mass:i.mass,overshootClamping:!0,useNativeDriver:!0});return n.start(),n},[R.motion.spring.snappy,J]),Y=(0,_react.useRef)(null);(0,_react.useEffect)(()=>{if(Q<=0)return;const e=null!==Y.current&&Y.current!==K;if(Y.current=K,!e)return void J.setValue(Q*K);const t=U(K,Q);return()=>t?.stop()},[K,Q,U,J]);const Z=(0,_react.useCallback)(e=>{const t=e.nativeEvent.layout.width;t!==G&&X(t)},[G]),$=(0,_react.useCallback)(e=>{if(u)return;if(e.value===I)return;const t=(0,_index3.resolveHaptic)(_,"selection");t&&(0,_index3.triggerHaptic)(t),C(e.value)},[u,C,I,_]),ee=N?R.colors.surface:M?R.colors["primary-soft"]:R.colors.primary,te=N?B:M?P:O,re=activeInkFor(R,m),ie=R.colors["bg-muted"],ne=(0,_SquircleFill.useSquircle)(N,W,Z),le=!0===l||(0,_index4.hasFieldText)(l),se=le&&!u,ae=R.colors["field-border-error"],oe=R.size.border,de=(0,_index4.hasFieldText)(i),ce=le?l:n,ue=(0,_index4.hasFieldText)(ce),me=p??("string"==typeof i?i:void 0),xe=(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,accessibilityRole:"radiogroup",accessibilityLabel:me,testID:w,style:[q.track,{...L?{minHeight:k.height+A}:{height:k.height},opacity:u?.55:1,alignSelf:c?"stretch":"flex-start"},N?{borderRadius:W,..._corners.smoothCorners,backgroundColor:ne.active?"transparent":ie,padding:T}:z?{borderBottomColor:se?ae:R.colors["border-subtle"],borderBottomWidth:_reactNative.StyleSheet.hairlineWidth}:null,v,b],onLayout:ne.onLayout,children:[ne.active&&ne.size?(0,_jsxRuntime.jsx)(_SquircleFill.SquircleFill,{width:ne.size.width,height:ne.size.height,radius:W,fill:ie,stroke:se?ae:void 0,strokeWidth:oe}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:q.row,children:[Q>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[q.thumb,N?L?{top:0,bottom:0}:{top:0,height:k.height-2*T}:M?{top:D,bottom:D}:{bottom:0,height:E},{width:Q,borderRadius:te,..._corners.smoothCorners,backgroundColor:ee,transform:[{translateX:J}]},y]}):null,r.map(e=>{const t=e.value===I,r=t?re:R.colors["text-subtle"],i=(0,_slotIcon.renderSlotIcon)(e.icon,{color:r,size:k.icon,selected:t,disabled:u});return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:()=>$(e),disabled:u,accessibilityRole:"radio",accessibilityLabel:e.label,accessibilityState:{checked:t,selected:t,disabled:u},"aria-checked":t,"aria-disabled":u,style:({pressed:e})=>[q.segment,L?q.segmentMultiline:null,{paddingHorizontal:k["padding-x"],opacity:e&&!t?.7:1},f],children:[i?(0,_jsxRuntime.jsx)(_reactNative.View,{style:q.segmentIcon,children:i}):null,(0,_jsxRuntime.jsx)(_index5.Text,{variant:"label",weight:t?"semibold":"medium",style:[q.segmentLabel,L?q.segmentLabelMultiline:null,{color:r,fontSize:k.text},S,j],numberOfLines:F,children:e.label})]},String(e.value))})]}),!se||z||ne.active?null:(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[_reactNative.StyleSheet.absoluteFill,{borderWidth:oe,borderColor:ae,borderRadius:N?W:P,..._corners.smoothCorners}]})]});return de||ue?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:{alignSelf:c?"stretch":"flex-start"},children:[de?(0,_jsxRuntime.jsx)(_index4.FieldLabel,{size:d,children:i}):null,xe,ue?(0,_jsxRuntime.jsx)(_index4.FieldMessage,{size:d,text:ce,error:le}):null]}):xe});SegmentedControl.displayName="SegmentedControl";const buildStyles=e=>_reactNative.StyleSheet.create({track:{flexDirection:"row",alignItems:"stretch",position:"relative"},row:{flex:1,flexDirection:"row",alignItems:"stretch",position:"relative",overflow:"hidden"},thumb:{position:"absolute",left:0},segment:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center"},segmentIcon:{marginRight:e.space.xs},segmentMultiline:{paddingVertical:e.space.xs},segmentLabel:{includeFontPadding:!1},segmentLabelMultiline:{flexShrink:1,textAlign:"center"}});var _default=exports.default=SegmentedControl;
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SegmentedControl=void 0;var _react=require("react"),_reactNative=require("react-native"),_index=require("../../hooks/index.js"),_index2=require("../../theme/index.js"),_index3=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_slotIcon=require("../AppIcon/slotIcon.js"),_index4=require("../FieldBase/index.js"),_SquircleFill=require("../SquircleFill/SquircleFill.js"),_index5=require("../Text/index.js"),_jsxRuntime=require("react/jsx-runtime");const LABEL_LINE_HEIGHT_RATIO=1.25,activeInkFor=(e,t)=>{switch(t){case"primary":return e.colors.primary;case"neutral":return e.colors["text-body"];case"success":return e.colors["success-text"];case"warning":return e.colors["warning-text"];case"danger":return e.colors["danger-text"];default:return e.colors["info-text"]}},SegmentedControl=exports.SegmentedControl=(0,_react.forwardRef)((e,t)=>{const{segments:r,label:i,helperText:n,error:l,value:s,defaultValue:a,onChange:o,size:d="md",fullWidth:c=!0,disabled:u=!1,tone:m="primary",variant:x="segmented",radius:g,labelLines:h=1,haptic:_,accessibilityLabel:p,style:b,containerStyle:v,segmentStyle:f,selectedIndicatorStyle:y,textStyle:S,labelStyle:j,testID:w}=e;(0,_warnInvalidValue.warnInvalidValue)("SegmentedControl","size",e.size,["sm","md","lg"]),(0,_warnInvalidValue.warnInvalidValue)("SegmentedControl","tone",e.tone,["primary","success","warning","danger","info","neutral"]),(0,_warnInvalidValue.warnInvalidValue)("SegmentedControl","variant",e.variant,["underline","pills","segmented"]);const[I,C]=(0,_index.useControllableState)({value:s,defaultValue:a??r[0]?.value,onChange:o}),R=(0,_index2.useTheme)(),V=R.components["segmented-control"],q=(0,_react.useMemo)(()=>buildStyles(R),[R]),k=(0,_react.useMemo)(()=>(0,_index2.resolveSegmentedControlSize)(R,d),[R,d]),F=h>=2?2:1,L=F>1,N="segmented"===x,z="underline"===x,M="pills"===x,T=N?R.space[V["track-padding"]]:0,A=Math.ceil(1.25*k.text)*(F-1),E=V["underline-height"],D=R.space[V["pill-inset"]],H="number"==typeof g?g:g?R.radius[g]:void 0,W=H??R.radius.md,B=void 0===H?R.radius.sm:Math.max(H-T,0),P=H??R.radius.pill,O=H??R.radius.none,[G,X]=(0,_react.useState)(0),J=(0,_react.useRef)((0,_index2.createAnimatedValue)(0)).current,K=Math.max(0,r.findIndex(e=>e.value===I)),Q=G>0?(G-2*T)/Math.max(r.length,1):0,U=(0,_react.useCallback)((e,t)=>{if(t<=0)return;const r=t*e,i=R.motion.spring.snappy,n=_reactNative.Animated.spring(J,{toValue:r,damping:i.damping,stiffness:i.stiffness,mass:i.mass,overshootClamping:!0,useNativeDriver:!0});return n.start(),n},[R.motion.spring.snappy,J]),Y=(0,_react.useRef)(null);(0,_react.useEffect)(()=>{if(Q<=0)return;const e=null!==Y.current&&Y.current!==K;if(Y.current=K,!e)return void J.setValue(Q*K);const t=U(K,Q);return()=>t?.stop()},[K,Q,U,J]);const Z=(0,_react.useCallback)(e=>{const t=e.nativeEvent.layout.width;t!==G&&X(t)},[G]),$=(0,_react.useCallback)(e=>{if(u)return;if(e.value===I)return;const t=(0,_index3.resolveHaptic)(_,"selection");t&&(0,_index3.triggerHaptic)(t),C(e.value)},[u,C,I,_]),ee=N?R.colors.surface:M?R.colors["primary-soft"]:R.colors.primary,te=N?B:M?P:O,re=activeInkFor(R,m),ie=R.colors["bg-muted"],ne=(0,_SquircleFill.useSquircle)(N,W,Z),le=!0===l||(0,_index4.hasFieldText)(l),se=le&&!u,ae=R.colors["field-border-error"],oe=R.size.border,de=(0,_index4.hasFieldText)(i),ce=le?l:n,ue=(0,_index4.hasFieldText)(ce),me=p??("string"==typeof i?i:void 0),xe=(0,_jsxRuntime.jsxs)(_reactNative.View,{ref:t,accessibilityRole:"radiogroup",accessibilityLabel:me,testID:w,style:[q.track,{...L?{minHeight:k.height+A}:{height:k.height},opacity:u?.55:1,alignSelf:c?"stretch":"flex-start"},N?{borderRadius:W,..._corners.smoothCorners,backgroundColor:ne.active?"transparent":ie,padding:T}:z?{borderBottomColor:se?ae:R.colors["border-subtle"],borderBottomWidth:_reactNative.StyleSheet.hairlineWidth}:null,v,b],onLayout:ne.onLayout,children:[ne.active&&ne.size?(0,_jsxRuntime.jsx)(_SquircleFill.SquircleFill,{width:ne.size.width,height:ne.size.height,radius:W,fill:ie,stroke:se?ae:void 0,strokeWidth:oe}):null,(0,_jsxRuntime.jsxs)(_reactNative.View,{style:q.row,children:[Q>0?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[q.thumb,N?L?{top:0,bottom:0}:{top:0,height:k.height-2*T}:M?{top:D,bottom:D,left:D}:{bottom:0,height:E},{width:M?Math.max(Q-2*D,0):Q,borderRadius:te,..._corners.smoothCorners,backgroundColor:ee,transform:[{translateX:J}]},y]}):null,r.map(e=>{const t=e.value===I,r=t?re:R.colors["text-subtle"],i=(0,_slotIcon.renderSlotIcon)(e.icon,{color:r,size:k.icon,selected:t,disabled:u});return(0,_jsxRuntime.jsxs)(_reactNative.Pressable,{onPress:()=>$(e),disabled:u,accessibilityRole:"radio",accessibilityLabel:e.label,accessibilityState:{checked:t,selected:t,disabled:u},"aria-checked":t,"aria-disabled":u,style:({pressed:e})=>[q.segment,L?q.segmentMultiline:null,{paddingHorizontal:k["padding-x"],opacity:e&&!t?.7:1},f],children:[i?(0,_jsxRuntime.jsx)(_reactNative.View,{style:q.segmentIcon,children:i}):null,(0,_jsxRuntime.jsx)(_index5.Text,{variant:"label",weight:t?"semibold":"medium",style:[q.segmentLabel,L?q.segmentLabelMultiline:null,{color:r,fontSize:k.text},S,j],numberOfLines:F,children:e.label})]},String(e.value))})]}),!se||z||ne.active?null:(0,_jsxRuntime.jsx)(_reactNative.View,{pointerEvents:"none",style:[_reactNative.StyleSheet.absoluteFill,{borderWidth:oe,borderColor:ae,borderRadius:N?W:P,..._corners.smoothCorners}]})]});return de||ue?(0,_jsxRuntime.jsxs)(_reactNative.View,{style:{alignSelf:c?"stretch":"flex-start"},children:[de?(0,_jsxRuntime.jsx)(_index4.FieldLabel,{size:d,children:i}):null,xe,ue?(0,_jsxRuntime.jsx)(_index4.FieldMessage,{size:d,text:ce,error:le}):null]}):xe});SegmentedControl.displayName="SegmentedControl";const buildStyles=e=>_reactNative.StyleSheet.create({track:{flexDirection:"row",alignItems:"stretch",position:"relative"},row:{flex:1,flexDirection:"row",alignItems:"stretch",position:"relative",overflow:"hidden"},thumb:{position:"absolute",left:0},segment:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center"},segmentIcon:{marginRight:e.space.xs},segmentMultiline:{paddingVertical:e.space.xs},segmentLabel:{includeFontPadding:!1},segmentLabelMultiline:{flexShrink:1,textAlign:"center"}});var _default=exports.default=SegmentedControl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SkeletonText=exports.SkeletonCircle=exports.Skeleton=exports.DEFAULT_SKELETON_LABELS=void 0;var _react=require("react"),_reactNative=require("react-native"),_useReducedMotion=require("../../hooks/useReducedMotion.js"),_index=require("../../theme/index.js"),_Gradient=require("../../theme/Gradient.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_SkeletonClock=require("./SkeletonClock.js"),_SkeletonProvider=require("./SkeletonProvider.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_SKELETON_LABELS=exports.DEFAULT_SKELETON_LABELS=Object.freeze({loading:"Loading"}),resolveRadius=(e,t)=>"number"==typeof t?t:e.radius[t],resolveWidth=e=>void 0===e?"100%":e,radiusForShape=(e,t,s,r,i)=>{if(void 0!==i)return resolveRadius(e,i);switch(t){case"circle":return"number"==typeof s?Math.min(s,r)/2:r/2;case"rounded":return e.radius.md;default:return e.radius.sm}},Skeleton=e=>{const{shape:t="rect",width:s="100%",height:r=16,radius:i,variant:n,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SkeletonText=exports.SkeletonCircle=exports.Skeleton=exports.DEFAULT_SKELETON_LABELS=void 0;var _react=require("react"),_reactNative=require("react-native"),_useReducedMotion=require("../../hooks/useReducedMotion.js"),_index=require("../../theme/index.js"),_Gradient=require("../../theme/Gradient.js"),_index2=require("../../utils/index.js"),_corners=require("../../utils/corners.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_SkeletonClock=require("./SkeletonClock.js"),_SkeletonProvider=require("./SkeletonProvider.js"),_jsxRuntime=require("react/jsx-runtime");const DEFAULT_SKELETON_LABELS=exports.DEFAULT_SKELETON_LABELS=Object.freeze({loading:"Loading"}),resolveRadius=(e,t)=>"number"==typeof t?t:e.radius[t],resolveWidth=e=>void 0===e?"100%":e,radiusForShape=(e,t,s,r,i)=>{if(void 0!==i)return resolveRadius(e,i);switch(t){case"circle":return"number"==typeof s?Math.min(s,r)/2:r/2;case"rounded":return e.radius.md;default:return e.radius.sm}},Skeleton=e=>{const{shape:t="rect",width:s="100%",height:r=16,radius:i,variant:n,colors:o,labels:a,style:l,testID:u}=e;(0,_warnInvalidValue.warnInvalidValue)("Skeleton","shape",e.shape,["rect","rounded","circle","text"]),(0,_warnInvalidValue.warnInvalidValue)("Skeleton","variant",e.variant,["shimmer","pulse","none"]);const c=(0,_index.useTheme)(),d=(0,_SkeletonProvider.useSkeletonDefaults)(),m=(0,_SkeletonClock.useSkeletonClock)(),h=(0,_useReducedMotion.useReducedMotion)(),S=n??d.variant??"shimmer",_=h&&"auto"===(d.animation??"auto");let p=S;m.enabled?_&&"shimmer"===S&&(p="pulse"):p="none";const x=o?.background??d.colors?.background??c.colors.skeleton,k=o?.highlight??d.colors?.highlight??c.colors["skeleton-highlight"],{responsive:v}=(0,_index2.useScreenDimensions)(),b=(0,_react.useMemo)(()=>buildStyles(),[]),y=(0,_react.useMemo)(()=>({...DEFAULT_SKELETON_LABELS,...a}),[a]),g=resolveWidth(s),j=v.size(r),L=radiusForShape(c,t,g,j,i),[R,w]=(0,_react.useState)(0),E=(0,_react.useMemo)(()=>R<=0?0:Math.max(48,.7*R),[R]),T=(0,_react.useMemo)(()=>R<=0?0:m.shimmer.interpolate({inputRange:[0,1],outputRange:[-E,R]}),[m.shimmer,E,R]),f=(0,_react.useMemo)(()=>"none"===p?null:"pulse"===p?(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[_reactNative.StyleSheet.absoluteFill,{backgroundColor:k,opacity:m.pulse.interpolate({inputRange:[0,1],outputRange:[0,.55]})}]}):R<=0?null:(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{pointerEvents:"none",style:[b.shimmerBand,{width:E,transform:[{translateX:T}],experimental_backgroundImage:[(0,_Gradient.toBackgroundImage)({colors:["transparent",k,"transparent"],locations:[0,.5,1],start:{x:0,y:.5},end:{x:1,y:.5}})]}]}),[p,k,m.pulse,R,b.shimmerBand,E,T]);return(0,_jsxRuntime.jsx)(_reactNative.View,{onLayout:e=>{const t=e.nativeEvent.layout.width;t!==R&&w(t)},accessible:!0,accessibilityLabel:y.loading,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,accessibilityLiveRegion:"polite",testID:u,style:[b.base,{width:g,height:j,borderRadius:L,..._corners.smoothCorners,backgroundColor:x},l],children:f})};exports.Skeleton=Skeleton,Skeleton.displayName="Skeleton";const SkeletonCircle=({size:e,style:t,...s})=>{const{responsive:r}=(0,_index2.useScreenDimensions)(),i=r.size(e);return(0,_jsxRuntime.jsx)(Skeleton,{...s,shape:"circle",width:i,height:e,style:t})};exports.SkeletonCircle=SkeletonCircle,SkeletonCircle.displayName="SkeletonCircle";const SkeletonText=({lines:e=3,lastLineWidth:t="60%",spacing:s,fontSize:r,variant:i,radius:n="sm",width:o="100%",labels:a,style:l,testID:u})=>{const c=(0,_index.useTheme)(),d=s??c.space.xs,m=Math.max(1,e);return(0,_jsxRuntime.jsx)(_reactNative.View,{style:l,testID:u,children:Array.from({length:m}).map((e,s)=>{const l=s===m-1&&m>1?t:o;return(0,_jsxRuntime.jsx)(Skeleton,{shape:"text",width:l,height:r??c.text.base.size,radius:n,variant:i,labels:a,style:s<m-1?{marginBottom:d}:void 0},s)})})};exports.SkeletonText=SkeletonText,SkeletonText.displayName="SkeletonText";const buildStyles=()=>_reactNative.StyleSheet.create({base:{overflow:"hidden"},shimmerBand:{position:"absolute",top:0,bottom:0,left:0}});var _default=exports.default=Skeleton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SkeletonContent=void 0;var cache,_react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index2=require("../Text/index.js"),_Skeleton=require("./Skeleton.js"),_SkeletonProvider=require("./SkeletonProvider.js"),_SkeletonSkip=require("./SkeletonSkip.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var r,n
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=exports.SkeletonContent=void 0;var cache,_react=_interopRequireWildcard(require("react")),_reactNative=require("react-native"),_usePresenceMotion=require("../../hooks/usePresenceMotion.js"),_index=require("../../theme/index.js"),_warnInvalidValue=require("../../utils/warnInvalidValue.js"),_index2=require("../Text/index.js"),_Skeleton=require("./Skeleton.js"),_SkeletonProvider=require("./SkeletonProvider.js"),_SkeletonSkip=require("./SkeletonSkip.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var r,i,n=Object.defineProperty,a={__proto__:null,default:e};if(Object(e)!==e)return a;if(cache||"function"!=typeof WeakMap||(cache=new WeakMap),cache){if(cache.has(e))return cache.get(e);cache.set(e,a)}for(i in e)"default"!==i&&{}.hasOwnProperty.call(e,i)&&((r=n&&Object.getOwnPropertyDescriptor(e,i))&&(r.get||r.set)?n(a,i,r):a[i]=e[i]);return a}const DEFAULT_REVEAL_FADE_MS=300,flattenStyle=e=>{if(!e)return{};return _reactNative.StyleSheet.flatten(e)??{}},resolveWidth=(e,t)=>"number"==typeof e?e:"string"!=typeof e||"auto"!==e&&"100%"!==e&&!/^\d+(\.\d+)?%$/.test(e)?t:e,resolveRadius=(e,t)=>"number"==typeof e?e:t,skeletonizeNode=(e,t,r,i,n="r")=>{if(null==t||"boolean"==typeof t)return null;if("string"==typeof t||"number"==typeof t)return(0,_jsxRuntime.jsx)(_Skeleton.Skeleton,{shape:"text",width:"60%",height:14,variant:r,colors:i},`${n}-text`);if(Array.isArray(t))return _react.Children.map(t,(t,a)=>skeletonizeNode(e,t,r,i,`${n}-${a}`));if(!(0,_react.isValidElement)(t))return null;const a=t,s=a.props??{},o=a.type;if(o===_SkeletonSkip.SkeletonSkip)return(0,_react.cloneElement)(a,{key:`${n}-skip`});if("function"==typeof o||"object"==typeof o){const e=o.Skeleton;if(e){const t=e;return(0,_jsxRuntime.jsx)(t,{...s},`${n}-self`)}}if(o===_reactNative.Image){const e=flattenStyle(s.style),t=resolveWidth(e.width,"100%"),a="number"==typeof e.height?e.height:120,o=resolveRadius(e.borderRadius,"sm");return(0,_jsxRuntime.jsx)(_Skeleton.Skeleton,{width:t,height:a,radius:o,variant:r,colors:i,style:{margin:"number"==typeof e.margin?e.margin:void 0}},`${n}-img`)}if(o===_reactNative.Text||o===_index2.Text){const t=flattenStyle(s.style),a="number"==typeof t.fontSize?t.fontSize:e.text.base.size,o=resolveWidth(t.width,"85%");return(0,_jsxRuntime.jsx)(_Skeleton.Skeleton,{shape:"text",width:o,height:Math.round(1.15*a),variant:r,colors:i,style:{marginVertical:e.space.xxs}},`${n}-txt`)}if(null!=s.children)return(0,_react.cloneElement)(a,{key:`${n}-w`},skeletonizeNode(e,s.children,r,i,`${n}-c`));if(o===_reactNative.View){const e=flattenStyle(s.style);if(null!=e.width||null!=e.height){const t=resolveWidth(e.width,"100%"),a="number"==typeof e.height?e.height:20,s=resolveRadius(e.borderRadius,"sm");return(0,_jsxRuntime.jsx)(_Skeleton.Skeleton,{width:t,height:a,radius:s,variant:r,colors:i},`${n}-vw`)}}return(0,_react.cloneElement)(a,{key:`${n}-leaf`})},SkeletonContent=e=>{const{loading:t,children:r,placeholder:i,variant:n,count:a=1,colors:s,labels:o,fadeDuration:l,style:u,testID:c}=e;(0,_warnInvalidValue.warnInvalidValue)("SkeletonContent","variant",e.variant,["shimmer","pulse","none"]);const d=(0,_index.useTheme)(),_=(0,_react.useMemo)(()=>({..._Skeleton.DEFAULT_SKELETON_LABELS,...o}),[o]),f=(0,_SkeletonProvider.useSkeletonDefaults)(),h=(0,_usePresenceMotion.usePresenceMotion)(),y=l??f.fadeDuration??(h.reduced?h.duration("default"):300),p=(0,_react.useRef)(t),m=(0,_react.useRef)((0,_index.createAnimatedValue)(t?0:1)).current;if((0,_react.useEffect)(()=>{let e;return p.current&&!t?(m.setValue(0),e=_reactNative.Animated.timing(m,{toValue:1,duration:y,useNativeDriver:!0}),e.start()):!p.current&&t&&m.setValue(1),p.current=t,()=>e?.stop()},[t,m,y]),!t)return y<=0?(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{children:r}):(0,_jsxRuntime.jsx)(_reactNative.Animated.View,{style:[u,{opacity:m}],testID:c,children:r});if(void 0!==i){const e=a>1?Array.from({length:a},(e,t)=>(0,_jsxRuntime.jsx)(_react.default.Fragment,{children:i},`sk-ph-${t}`)):i;return(0,_jsxRuntime.jsx)(_reactNative.View,{style:u,testID:c,accessible:!0,accessibilityLabel:_.loading,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,accessibilityLiveRegion:"polite",children:e})}const x=a>1?Array.from({length:a},(e,t)=>(0,_jsxRuntime.jsx)(_react.default.Fragment,{children:r},`sk-rep-${t}`)):r;return(0,_jsxRuntime.jsx)(_reactNative.View,{style:u,testID:c,accessible:!0,accessibilityLabel:_.loading,accessibilityRole:"progressbar",accessibilityState:{busy:!0},"aria-busy":!0,accessibilityLiveRegion:"polite",children:skeletonizeNode(d,x,n,s)})};exports.SkeletonContent=SkeletonContent,SkeletonContent.displayName="SkeletonContent";var _default=exports.default=SkeletonContent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SkeletonList=void 0;var _react=_interopRequireDefault(require("react")),_reactNative=require("react-native"),_SkeletonContent=require("./SkeletonContent.js"),_SkeletonProvider=require("./SkeletonProvider.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function SkeletonListInner(e){const{loading:t,data:n,renderItem:r,renderPlaceholder:o,placeholderCount:l,variant:i,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.SkeletonList=void 0;var _react=_interopRequireDefault(require("react")),_reactNative=require("react-native"),_SkeletonContent=require("./SkeletonContent.js"),_SkeletonProvider=require("./SkeletonProvider.js"),_jsxRuntime=require("react/jsx-runtime");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function SkeletonListInner(e){const{loading:t,data:n,renderItem:r,renderPlaceholder:o,placeholderCount:l,variant:i,colors:s,labels:a,placeholderContainerStyle:u,horizontal:c,contentContainerStyle:d,style:_,testID:x,...S}=e,k=(0,_SkeletonProvider.useSkeletonDefaults)(),m=l??k.placeholderCount??3;if(t){const e=Array.from({length:Math.max(0,m)},(e,t)=>(0,_jsxRuntime.jsx)(_react.default.Fragment,{children:o?o(t):null},`sk-list-${t}`));return(0,_jsxRuntime.jsx)(_SkeletonContent.SkeletonContent,{loading:!0,variant:i,colors:s,labels:a,style:_,testID:x,children:(0,_jsxRuntime.jsx)(_reactNative.View,{style:[c?styles.row:styles.column,u],children:e})})}return(0,_jsxRuntime.jsx)(_reactNative.FlatList,{data:n??[],renderItem:r,horizontal:c,contentContainerStyle:d,style:_,testID:x,...S})}const styles={row:{flexDirection:"row"},column:{flexDirection:"column"}},SkeletonList=exports.SkeletonList=SkeletonListInner;
|