@multiplatform.one/frappe-ui 7.83.2 → 7.84.1

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.
@@ -4,6 +4,7 @@ import {
4
4
  H1,
5
5
  PageBackButton,
6
6
  PageSection,
7
+ PushedPage,
7
8
  Quote,
8
9
  Screen,
9
10
  ScreenToolbar,
@@ -324,71 +325,75 @@ export function RecordPage<TDoc extends { name: string; doctype: string }>({
324
325
  </>
325
326
  );
326
327
 
328
+ // LC-270 hero: a pushed page whose name heads the identity block; the bar
329
+ // takes that name only once it scrolls away (LC-157).
327
330
  return (
328
- <Screen
329
- noPadding
330
- gap={0}
331
- maxWidth={DETAIL_READABLE_WIDTH}
332
- topBar={
333
- <RecordTopBar
334
- listName={listName}
335
- onBack={() => navigate(route)}
336
- slug={slug}
337
- trailing={trailing}
338
- />
339
- }
340
- >
341
- <RecordHeroFrame tint={tint} testID={`${slug}-detail-stage`}>
342
- <YStack testID={`${slug}-hero-art`}>
343
- <RecordGallery images={images} slides={slides} alt={title} />
344
- </YStack>
345
- </RecordHeroFrame>
331
+ <PushedPage hero>
332
+ <Screen
333
+ noPadding
334
+ gap={0}
335
+ maxWidth={DETAIL_READABLE_WIDTH}
336
+ topBar={
337
+ <RecordTopBar
338
+ listName={listName}
339
+ onBack={() => navigate(route)}
340
+ slug={slug}
341
+ trailing={trailing}
342
+ />
343
+ }
344
+ >
345
+ <RecordHeroFrame tint={tint} testID={`${slug}-detail-stage`}>
346
+ <YStack testID={`${slug}-hero-art`}>
347
+ <RecordGallery images={images} slides={slides} alt={title} />
348
+ </YStack>
349
+ </RecordHeroFrame>
346
350
 
347
- <RecordHeroIdentityColumn testID={`${slug}-hero-identity`}>
348
- <XStack gap="$2" alignItems="center" flexWrap="wrap">
349
- {code ? (
350
- <Text
351
- {...nested.label}
352
- fontWeight="700"
353
- color={(tint ? `$${tint}11` : "$color11") as never}
354
- >
355
- {code}
351
+ <RecordHeroIdentityColumn testID={`${slug}-hero-identity`}>
352
+ <XStack gap="$2" alignItems="center" flexWrap="wrap">
353
+ {code ? (
354
+ <Text
355
+ {...nested.label}
356
+ fontWeight="700"
357
+ color={(tint ? `$${tint}11` : "$color11") as never}
358
+ >
359
+ {code}
360
+ </Text>
361
+ ) : null}
362
+ {values.map((value) => (
363
+ <FacetBadge
364
+ key={value}
365
+ label={facet?.optionLabel?.(value) ?? value}
366
+ tint={facet?.tint?.(value)}
367
+ />
368
+ ))}
369
+ </XStack>
370
+ <RecordLargeTitle title={title} />
371
+ {look?.subtitle?.(doc) ? (
372
+ <Text {...nested.body} color="$textMuted">
373
+ {look.subtitle(doc)}
356
374
  </Text>
357
375
  ) : null}
358
- {values.map((value) => (
359
- <FacetBadge
360
- key={value}
361
- label={facet?.optionLabel?.(value) ?? value}
362
- tint={facet?.tint?.(value)}
363
- />
364
- ))}
365
- </XStack>
366
- <RecordLargeTitle title={title} />
367
- {look?.subtitle?.(doc) ? (
368
- <Text {...nested.body} color="$textMuted">
369
- {look.subtitle(doc)}
370
- </Text>
371
- ) : null}
372
- <RecordVitals
373
- tiles={metrics.map((metric) => {
374
- const value = metricValue(doc, metric.field);
375
- return {
376
- id: metric.field,
377
- label: metric.label,
378
- value: metric.format ? metric.format(value) : String(value),
379
- };
380
- })}
381
- />
382
- </RecordHeroIdentityColumn>
376
+ <RecordVitals
377
+ tiles={metrics.map((metric) => {
378
+ const value = metricValue(doc, metric.field);
379
+ return {
380
+ id: metric.field,
381
+ label: metric.label,
382
+ value: metric.format ? metric.format(value) : String(value),
383
+ };
384
+ })}
385
+ />
386
+ </RecordHeroIdentityColumn>
383
387
 
384
- <YStack {...knobProps.gapLg} paddingTop={knobProps.panelPadding.padding} paddingBottom="$6">
385
- {tabItems.length > 0 ? (
386
- <Tabs defaultValue={tabItems[0]?.value} lazyMount items={tabItems} />
387
- ) : null}
388
- <YStack {...knobProps.panelPadding} paddingVertical={0}>
389
- <RecordPager prev={pagerEntry(prev)} next={pagerEntry(next)} testID={slug} />
388
+ <YStack {...knobProps.gapLg} paddingTop={knobProps.panelPadding.padding} paddingBottom="$6">
389
+ {tabItems.length > 0 ? (
390
+ <Tabs defaultValue={tabItems[0]?.value} lazyMount items={tabItems} />
391
+ ) : null}
392
+ <YStack {...knobProps.panelPadding} paddingVertical={0}>
393
+ <RecordPager prev={pagerEntry(prev)} next={pagerEntry(next)} testID={slug} />
394
+ </YStack>
390
395
  </YStack>
391
- </YStack>
392
- </Screen>
396
+ </Screen>
397
+ </PushedPage>
393
398
  );
394
399
  }
@@ -1 +1 @@
1
- {"version":3,"file":"RecordPage.d.ts","sourceRoot":"","sources":["../../src/record/RecordPage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RecordPage.d.ts","sourceRoot":"","sources":["../../src/record/RecordPage.tsx"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtD,OAAO,EAAe,KAAK,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAGpF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAe,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAOxE,OAAO,KAAK,EAAuB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAE7E;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,2CAQ5D;AAED,yEAAyE;AACzE,MAAM,WAAW,kBAAkB,CAAC,IAAI;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,aAAa,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvC,IAAI,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEnC,MAAM,WAAW,eAAe,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE;IAC7E,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;IAC1B,IAAI,CAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,OAAO,EAAE,SAAS,oBAAoB,EAAE,CAAC;IACzC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAC9E,IAAI,EAAE,SAAS,eAAe,EAAE,CAAC;IACjC,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,OAAO,EAAE,SAAS,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;IAC7C,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAAC,EAC3B,QAAQ,EACR,MAAM,EACN,IAAI,EACJ,QAAQ,GACT,EAAE;IACD,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,2CAgBA;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,SAAS;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,EACzE,GAAG,EACH,MAAM,EACN,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,UAAU,EACV,KAAK,EACL,OAAO,EACP,OAAO,EACP,IAAI,EACJ,SAAS,EACT,OAAO,EACP,OAAO,EACP,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,OAAO,GACR,EAAE,eAAe,CAAC,IAAI,CAAC,2CA2PvB"}