@panneau/lists 5.0.0-alpha.16 → 5.0.0-alpha.17

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 (42) hide show
  1. package/dist/ListView.d.ts +7 -1
  2. package/dist/ListView.d.ts.map +1 -1
  3. package/dist/ListView.js +37 -31
  4. package/dist/ListView.js.map +1 -1
  5. package/dist/actions/ActionButton.d.ts +7 -1
  6. package/dist/actions/ActionButton.d.ts.map +1 -1
  7. package/dist/actions/ActionButton.js +74 -72
  8. package/dist/actions/ActionButton.js.map +1 -1
  9. package/dist/actions/Actions.css +12 -0
  10. package/dist/actions/Actions.module.js +6 -2
  11. package/dist/actions/Actions.module.js.map +1 -1
  12. package/dist/actions/RowActions.d.ts +21 -4
  13. package/dist/actions/RowActions.d.ts.map +1 -1
  14. package/dist/actions/RowActions.js +149 -84
  15. package/dist/actions/RowActions.js.map +1 -1
  16. package/dist/actions/fit.d.ts +25 -0
  17. package/dist/actions/fit.d.ts.map +1 -0
  18. package/dist/actions/fit.js +197 -0
  19. package/dist/actions/fit.js.map +1 -0
  20. package/dist/actions/icons.d.ts +5 -0
  21. package/dist/actions/icons.d.ts.map +1 -1
  22. package/dist/actions/icons.js +15 -1
  23. package/dist/actions/icons.js.map +1 -1
  24. package/dist/displays/Displays.css +6 -1
  25. package/dist/displays/Displays.module.js +4 -2
  26. package/dist/displays/Displays.module.js.map +1 -1
  27. package/dist/displays/displays.d.ts +3 -2
  28. package/dist/displays/displays.d.ts.map +1 -1
  29. package/dist/displays/displays.js +91 -39
  30. package/dist/displays/displays.js.map +1 -1
  31. package/dist/layouts/CardsLayout.d.ts.map +1 -1
  32. package/dist/layouts/CardsLayout.js +90 -93
  33. package/dist/layouts/CardsLayout.js.map +1 -1
  34. package/dist/layouts/GalleryLayout.css +7 -0
  35. package/dist/layouts/GalleryLayout.d.ts.map +1 -1
  36. package/dist/layouts/GalleryLayout.js +76 -53
  37. package/dist/layouts/GalleryLayout.js.map +1 -1
  38. package/dist/layouts/GalleryLayout.module.js.map +1 -1
  39. package/dist/layouts/TableLayout.d.ts.map +1 -1
  40. package/dist/layouts/TableLayout.js +120 -93
  41. package/dist/layouts/TableLayout.js.map +1 -1
  42. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"displays.js","names":["Check","File","FileText","Globe","Hash","Mail","Minus","Phone","toReferences","formatAddress","isAddress","getColorPalette","getSwatchColor","getCountryFlag","getCountryName","isCountryCode","formatDateRange","getDateRangeSettings","formatDuration","getDurationUnits","getLinkText","isLink","formatMoney","getRegionCountry","getRegionName","parsePhone","splitExtension","fieldsMessages","Badge","Icon","Tone","usePanneauIntl","messages","DisplayEntry","DisplayProps","findOption","getFieldOptions","toText","styles","EmptyValue","$","_c","t0","Symbol","for","empty","isEmpty","value","undefined","Array","isArray","length","TextDisplay","field","intl","t1","locale","text","t2","settings","secret","formatMessage","secretValue","t3","RichTextDisplay","replace","trim","NumberDisplay","number","Number","NaN","isNaN","formatNumber","BooleanDisplay","checked","boolean","true","false","yes","no","t4","t5","DATE_ONLY","TIME_ONLY","parseDate","Date","day","exec","date","getTime","DateDisplay","bb0","String","formatDate","dateStyle","DateTimeDisplay","timeStyle","DateRangeDisplay","range","timeZone","kind","rangeFrom","start","rangeUntil","end","MoneyDisplay","TimeDisplay","match","formatTime","SelectDisplay","options","values","badges","map","entry","option","tone","label","RelationDisplay","references","_temp","join","reference","UrlDisplay","link","EmailDisplay","TelDisplay","extension","t6","t7","t8","flagged","country","flag","phoneExtension","international","Country","code","CountryDisplay","codes","filter","_temp2","countries","_temp3","code_0","RegionDisplay","item","DurationDisplay","labels","days","daysUnit","hours","hoursUnit","minutes","minutesUnit","seconds","secondsUnit","units","JsonDisplay","json","JSON","stringify","slice","TagsDisplay","tags","_temp4","tag_0","tag","find","EmbedDisplay","url","title","thumbnailUrl","thumbnail","media","LocationDisplay","lat","lng","address","maximumFractionDigits","format","AddressDisplay","LINK_ICONS","page","email","tel","file","LinkDisplay","type","icon","newTab","target","rel","ColorDisplay","candidate","swatch","backgroundColor","paletteColor","color","MediaDisplay","name","filename","Record","source","builtInDisplays","Readonly","textarea","slug","richtext","datetime","time","select","relation","duration","embed","location","region","daterange","money","_c","styles"],"sources":["../../src/displays/displays.tsx"],"sourcesContent":["import { Check, File, FileText, Globe, Hash, Mail, Minus, Phone } from 'lucide-react';\n\nimport { toReferences } from '@panneau/fields';\nimport { formatAddress, isAddress } from '@panneau/fields/address';\nimport { getColorPalette, getSwatchColor } from '@panneau/fields/color';\nimport { getCountryFlag, getCountryName, isCountryCode } from '@panneau/fields/country';\nimport { formatDateRange, getDateRangeSettings } from '@panneau/fields/daterange';\nimport { formatDuration, getDurationUnits } from '@panneau/fields/duration';\nimport { getLinkText, isLink } from '@panneau/fields/link';\nimport { formatMoney } from '@panneau/fields/money';\nimport { getRegionCountry, getRegionName } from '@panneau/fields/region';\nimport { parsePhone, splitExtension } from '@panneau/fields/tel';\nimport { fieldsMessages } from '@panneau/intl';\nimport { Badge, Icon, type Tone, usePanneauIntl } from '@panneau/ui';\n\nimport { messages } from '../messages';\nimport type { DisplayEntry, DisplayProps } from '../types';\nimport { findOption, getFieldOptions, toText } from '../values';\nimport styles from './Displays.module.css';\n\n/** What a cell shows without a value. Hidden from assistive technologies, which skip the cell. */\nexport function EmptyValue() {\n return (\n <span className={styles.empty} aria-hidden=\"true\">\n —\n </span>\n );\n}\n\nfunction isEmpty(value: unknown): boolean {\n return (\n value === null ||\n value === undefined ||\n value === '' ||\n (Array.isArray(value) && value.length === 0)\n );\n}\n\n/**\n * Text, on two lines at most. The default display. The value of a `secret` text field\n * (`settings.secret`) shows as dots, never in clear.\n */\nexport function TextDisplay({ value, field }: DisplayProps) {\n const intl = usePanneauIntl();\n const text = toText(value, intl.locale);\n if (text === '') {\n return <EmptyValue />;\n }\n if (field?.settings?.secret === true) {\n return (\n <span role=\"img\" aria-label={intl.formatMessage(messages.secretValue)}>\n ••••••••\n </span>\n );\n }\n return <span className={styles.text}>{text}</span>;\n}\n\n/** HTML as plain text. */\nexport function RichTextDisplay({ value }: DisplayProps) {\n const text =\n typeof value === 'string'\n ? value\n .replace(/<[^>]*>/g, ' ')\n .replace(/\\s+/g, ' ')\n .trim()\n : '';\n return text === '' ? <EmptyValue /> : <span className={styles.text}>{text}</span>;\n}\n\n/** A number, in the format of the locale. */\nexport function NumberDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n const number =\n typeof value === 'number' ? value : typeof value === 'string' ? Number(value) : NaN;\n if (Number.isNaN(number) || isEmpty(value)) {\n return <EmptyValue />;\n }\n return <span className={styles.number}>{intl.formatNumber(number)}</span>;\n}\n\n/** Yes or no, as an icon with its label. */\nexport function BooleanDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n if (value === null || value === undefined) {\n return <EmptyValue />;\n }\n const checked = value === true || value === 1 || value === 'true' || value === '1';\n return (\n <span className={`${styles.boolean} ${checked ? styles.true : styles.false}`}>\n <Icon\n icon={checked ? Check : Minus}\n label={intl.formatMessage(checked ? messages.yes : messages.no)}\n />\n </span>\n );\n}\n\nconst DATE_ONLY = /^(\\d{4})-(\\d{2})-(\\d{2})$/;\nconst TIME_ONLY = /^(\\d{2}):(\\d{2})(?::(\\d{2}))?$/;\n\n/** A date (`2026-10-15`) as a local date, so that it doesn't move with the time zone. */\nfunction parseDate(value: unknown): Date | null {\n if (typeof value !== 'string' || value === '') {\n return null;\n }\n const day = DATE_ONLY.exec(value);\n const date =\n day !== null\n ? new Date(Number(day[1]), Number(day[2]) - 1, Number(day[3]))\n : new Date(value);\n return Number.isNaN(date.getTime()) ? null : date;\n}\n\n/** A date, in the format of the locale. */\nexport function DateDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n const date = parseDate(value);\n if (date === null) {\n return <EmptyValue />;\n }\n return <time dateTime={String(value)}>{intl.formatDate(date, { dateStyle: 'medium' })}</time>;\n}\n\n/** A date and a time, in the format and the time zone of the user. */\nexport function DateTimeDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n const date = parseDate(value);\n if (date === null) {\n return <EmptyValue />;\n }\n return (\n <time dateTime={String(value)}>\n {intl.formatDate(date, { dateStyle: 'medium', timeStyle: 'short' })}\n </time>\n );\n}\n\n/**\n * A range of dates (decision 0053), in the format of the locale: `Nov 4 – 6, 2026`. Date-times show\n * in the zone of the value or the field, with its short name when it isn't the user's. A range open\n * at one end shows `From Nov 4, 2026` or `Until Dec 1, 2026`.\n */\nexport function DateRangeDisplay({ value, field }: DisplayProps) {\n const intl = usePanneauIntl();\n const range = formatDateRange(\n value,\n intl.locale,\n getDateRangeSettings(field?.settings).timeZone,\n );\n if (range === null) {\n return <EmptyValue />;\n }\n const text =\n range.kind === 'from'\n ? intl.formatMessage(messages.rangeFrom, { start: range.text })\n : range.kind === 'until'\n ? intl.formatMessage(messages.rangeUntil, { end: range.text })\n : range.text;\n return <span className={styles.text}>{text}</span>;\n}\n\n/** An amount of money (decision 0053), in the currency format of the locale: `1 250,00 $`. */\nexport function MoneyDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n const text = formatMoney(value, intl.locale);\n if (text === null) {\n return <EmptyValue />;\n }\n return <span className={styles.number}>{text}</span>;\n}\n\n/** A time of day (`14:30`), in the format of the locale. */\nexport function TimeDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n const match = typeof value === 'string' ? TIME_ONLY.exec(value) : null;\n if (match === null) {\n return <EmptyValue />;\n }\n const date = new Date(2000, 0, 1, Number(match[1]), Number(match[2]), Number(match[3] ?? 0));\n return <time dateTime={String(value)}>{intl.formatTime(date, { timeStyle: 'short' })}</time>;\n}\n\n/** The labels of the selected options, as badges. */\nexport function SelectDisplay({ value, field }: DisplayProps) {\n const options = getFieldOptions(field);\n const values: unknown[] = Array.isArray(value) ? value : isEmpty(value) ? [] : [value];\n if (values.length === 0) {\n return <EmptyValue />;\n }\n return (\n <span className={styles.badges}>\n {values.map((entry) => {\n const option = findOption(options, entry);\n return (\n <Badge key={String(entry)} tone={(option?.tone ?? 'neutral') as Tone}>\n {option?.label ?? String(entry)}\n </Badge>\n );\n })}\n </span>\n );\n}\n\n/** The labels of related items. */\nexport function RelationDisplay({ value }: DisplayProps) {\n const references = toReferences(value);\n if (references.length === 0) {\n return <EmptyValue />;\n }\n return (\n <span className={styles.text}>\n {references.map((reference) => reference.label).join(', ')}\n </span>\n );\n}\n\n/** A link that opens the URL. */\nexport function UrlDisplay({ value }: DisplayProps) {\n if (typeof value !== 'string' || value === '') {\n return <EmptyValue />;\n }\n return (\n <a className={styles.link} href={value} target=\"_blank\" rel=\"noreferrer\">\n {value.replace(/^https?:\\/\\//, '')}\n </a>\n );\n}\n\n/** A link that writes an email. */\nexport function EmailDisplay({ value }: DisplayProps) {\n if (typeof value !== 'string' || value === '') {\n return <EmptyValue />;\n }\n return (\n <a className={styles.link} href={`mailto:${value}`}>\n {value}\n </a>\n );\n}\n\n/**\n * A link that calls the phone number: the flag of its country and the number in its international\n * format (`+1 514 555 0199`), with its extension (`, ext. 123`) when its field allows one\n * (`settings.extension`) or the column has no field. A value that isn't E.164 shows as it is.\n */\nexport function TelDisplay({ value, field }: DisplayProps) {\n const intl = usePanneauIntl();\n if (typeof value !== 'string' || value.trim() === '') {\n return <EmptyValue />;\n }\n const { number: text, extension } =\n field === null || field.settings?.extension === true\n ? splitExtension(value)\n : { number: value, extension: null };\n const number = parsePhone(text);\n if (number === null) {\n return (\n <a className={styles.link} href={`tel:${value.replace(/[^\\d+]/g, '')}`}>\n {value}\n </a>\n );\n }\n return (\n <a\n className={`${styles.link} ${styles.flagged}`}\n href={`tel:${number.number}${extension !== null ? `;ext=${extension}` : ''}`}\n >\n {number.country !== null ? (\n <span className={styles.flag} aria-hidden=\"true\">\n {getCountryFlag(number.country)}\n </span>\n ) : null}\n {extension !== null\n ? intl.formatMessage(messages.phoneExtension, {\n number: number.international,\n extension,\n })\n : number.international}\n </a>\n );\n}\n\n/** A country: its flag and its name in the user's locale. */\nfunction Country({ code }: { code: string }) {\n const intl = usePanneauIntl();\n if (!isCountryCode(code)) {\n return <span className={styles.text}>{code}</span>;\n }\n return (\n <span className={styles.flagged}>\n <span className={styles.flag} aria-hidden=\"true\">\n {getCountryFlag(code)}\n </span>\n <span className={styles.text}>{getCountryName(code, intl.locale)}</span>\n </span>\n );\n}\n\n/** A country, or several (`multiple`): their flags and their names in the user's locale. */\nexport function CountryDisplay({ value }: DisplayProps) {\n const codes = (Array.isArray(value) ? value : [value]).filter(\n (code): code is string => typeof code === 'string' && code !== '',\n );\n if (codes.length === 0) {\n return <EmptyValue />;\n }\n if (codes.length === 1) {\n return <Country code={codes[0] as string} />;\n }\n return (\n <span className={styles.countries}>\n {codes.map((code) => (\n <Country key={code} code={code} />\n ))}\n </span>\n );\n}\n\n/**\n * A region: its name in the user's locale, from its country in the item (the field's `from`) or\n * the field's settings. A region that Panneau doesn't know shows as it is.\n */\nexport function RegionDisplay({ value, field, item }: DisplayProps) {\n const intl = usePanneauIntl();\n if (typeof value !== 'string' || value === '') {\n return <EmptyValue />;\n }\n const country = field !== null ? getRegionCountry(field, item) : null;\n return (\n <span className={styles.text}>{getRegionName(country, value, intl.locale) ?? value}</span>\n );\n}\n\n/**\n * A duration with its units, `1 h 5 min` or `2 d 4 h`: in the unit of its field (seconds by\n * default), from its largest unit to its precision.\n */\nexport function DurationDisplay({ value, field }: DisplayProps) {\n const intl = usePanneauIntl();\n if (typeof value !== 'number' || Number.isNaN(value)) {\n return <EmptyValue />;\n }\n const labels = {\n days: intl.formatMessage(fieldsMessages.daysUnit),\n hours: intl.formatMessage(fieldsMessages.hoursUnit),\n minutes: intl.formatMessage(fieldsMessages.minutesUnit),\n seconds: intl.formatMessage(fieldsMessages.secondsUnit),\n };\n const units = field !== null ? getDurationUnits(field) : {};\n return <span className={styles.number}>{formatDuration(value, { ...units, labels })}</span>;\n}\n\n/** JSON on one line, shortened. */\nexport function JsonDisplay({ value }: DisplayProps) {\n if (value === null || value === undefined || typeof value !== 'object') {\n return <EmptyValue />;\n }\n const json = JSON.stringify(value);\n return (\n <code className={styles.code} title={json.length > 80 ? json : undefined}>\n {json.length > 80 ? `${json.slice(0, 79)}…` : json}\n </code>\n );\n}\n\n/** Tags, as badges, with the labels of their options. */\nexport function TagsDisplay({ value, field }: DisplayProps) {\n const tags = Array.isArray(value) ? value.filter((tag) => typeof tag === 'string') : [];\n if (tags.length === 0) {\n return <EmptyValue />;\n }\n const options = field?.options ?? [];\n return (\n <span className={styles.tags}>\n {tags.map((tag) => (\n <Badge key={tag}>\n {options.find((option) => String(option.value) === tag)?.label ?? tag}\n </Badge>\n ))}\n </span>\n );\n}\n\n/** What a URL embeds: its thumbnail and title, linked to it. */\nexport function EmbedDisplay({ value }: DisplayProps) {\n if (\n value === null ||\n typeof value !== 'object' ||\n typeof (value as { url?: unknown }).url !== 'string'\n ) {\n return <EmptyValue />;\n }\n const { url, title, thumbnailUrl } = value as {\n url: string;\n title?: unknown;\n thumbnailUrl?: unknown;\n };\n return (\n <a className={`${styles.link} ${styles.media}`} href={url} target=\"_blank\" rel=\"noreferrer\">\n {typeof thumbnailUrl === 'string' ? (\n <img className={styles.thumbnail} src={thumbnailUrl} alt=\"\" />\n ) : null}\n <span className={styles.text}>\n {typeof title === 'string' ? title : url.replace(/^https?:\\/\\//, '')}\n </span>\n </a>\n );\n}\n\n/** A place: its address, or its coordinates. */\nexport function LocationDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n if (value === null || typeof value !== 'object') {\n return <EmptyValue />;\n }\n const { lat, lng, address } = value as { lat?: unknown; lng?: unknown; address?: unknown };\n if (typeof address === 'string' && address !== '') {\n return <span className={styles.text}>{address}</span>;\n }\n if (typeof lat !== 'number' || typeof lng !== 'number') {\n return <EmptyValue />;\n }\n const format = (number: number) => intl.formatNumber(number, { maximumFractionDigits: 5 });\n return (\n <span className={styles.number}>\n {format(lat)}, {format(lng)}\n </span>\n );\n}\n\n/** An address on one line, in the order of its country, after the flag of its country. */\nexport function AddressDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n if (!isAddress(value)) {\n return <EmptyValue />;\n }\n const text = formatAddress(value, intl.locale);\n const country = typeof value.country === 'string' ? value.country : '';\n if (text === '' && !isCountryCode(country)) {\n return <EmptyValue />;\n }\n return (\n <span className={styles.flagged}>\n {isCountryCode(country) ? (\n <span className={styles.flag} title={getCountryName(country, intl.locale)}>\n {getCountryFlag(country)}\n </span>\n ) : null}\n <span className={styles.text}>\n {text !== '' ? text : getCountryName(country, intl.locale)}\n </span>\n </span>\n );\n}\n\nconst LINK_ICONS = { url: Globe, page: FileText, email: Mail, tel: Phone, file: File };\n\n/**\n * A link: the icon of its type, and its label in the user's locale, or its page or its URL. It\n * opens its URL when it has one, in a new tab when the link does.\n */\nexport function LinkDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n if (!isLink(value)) {\n return <EmptyValue />;\n }\n const text = getLinkText(value, intl.locale);\n if (text === null) {\n return <EmptyValue />;\n }\n const icon = (\n <Icon icon={LINK_ICONS[value.type as keyof typeof LINK_ICONS] ?? Hash} size=\"sm\" />\n );\n const url = typeof value.url === 'string' && value.url !== '' ? value.url : null;\n if (url === null) {\n return (\n <span className={styles.flagged}>\n {icon}\n <span className={styles.text}>{text}</span>\n </span>\n );\n }\n return (\n <a\n className={`${styles.link} ${styles.flagged}`}\n href={url}\n {...(value.newTab === true ? { target: '_blank', rel: 'noopener noreferrer' } : {})}\n >\n {icon}\n {text}\n </a>\n );\n}\n\n/**\n * A swatch, with the color's code. A color of the field's palette (`settings.palette`) shows its\n * swatch and its label.\n */\nexport function ColorDisplay({ value, field }: DisplayProps) {\n if (typeof value !== 'string' || value === '') {\n return <EmptyValue />;\n }\n const entry = getColorPalette(field)?.find((candidate) => candidate.value === value);\n if (entry !== undefined) {\n const swatch = getSwatchColor(entry);\n return (\n <span className={styles.paletteColor}>\n <span\n className={styles.swatch}\n style={swatch !== null ? { backgroundColor: swatch } : undefined}\n aria-hidden=\"true\"\n />\n <span className={styles.text}>{entry.label ?? entry.value}</span>\n </span>\n );\n }\n return (\n <span className={styles.color}>\n <span className={styles.swatch} style={{ backgroundColor: value }} aria-hidden=\"true\" />\n {value}\n </span>\n );\n}\n\n/** A thumbnail and the name of a media item (or of the first one). */\nexport function MediaDisplay({ value }: DisplayProps) {\n const media: unknown = Array.isArray(value) ? value[0] : value;\n if (media === null || typeof media !== 'object') {\n return <EmptyValue />;\n }\n const { thumbnailUrl, url, name, filename } = media as Record<string, unknown>;\n const source =\n typeof thumbnailUrl === 'string' ? thumbnailUrl : typeof url === 'string' ? url : null;\n const label = typeof name === 'string' ? name : typeof filename === 'string' ? filename : '';\n return (\n <span className={styles.media}>\n {source !== null ? <img className={styles.thumbnail} src={source} alt=\"\" /> : null}\n {label !== '' ? <span className={styles.text}>{label}</span> : null}\n </span>\n );\n}\n\n/**\n * The built-in displays, by name. A column's display is its `display`, its field's `display`, or\n * its field's type: field types are display names. Values without a known display are shown as\n * text.\n */\nexport const builtInDisplays: Readonly<Record<string, DisplayEntry>> = {\n text: TextDisplay,\n textarea: TextDisplay,\n slug: TextDisplay,\n richtext: RichTextDisplay,\n number: NumberDisplay,\n boolean: BooleanDisplay,\n date: DateDisplay,\n datetime: DateTimeDisplay,\n time: TimeDisplay,\n select: SelectDisplay,\n relation: RelationDisplay,\n url: UrlDisplay,\n email: EmailDisplay,\n color: ColorDisplay,\n media: MediaDisplay,\n tel: TelDisplay,\n range: NumberDisplay,\n duration: DurationDisplay,\n json: JsonDisplay,\n tags: TagsDisplay,\n embed: EmbedDisplay,\n location: LocationDisplay,\n country: CountryDisplay,\n region: RegionDisplay,\n address: AddressDisplay,\n link: LinkDisplay,\n daterange: DateRangeDisplay,\n money: MoneyDisplay,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"displays.js","names":["Check","File","FileText","Globe","Hash","Mail","Minus","Phone","toReferences","formatAddress","isAddress","getColorPalette","getSwatchColor","getCountryFlag","getCountryName","isCountryCode","formatDateRange","getDateRangeSettings","formatDuration","getDurationUnits","getLinkText","isLink","formatMoney","RegionFlag","getRegionCountry","getRegionName","parsePhone","splitExtension","fieldsMessages","Badge","Icon","Tone","usePanneauIntl","messages","DisplayEntry","DisplayProps","findOption","getFieldOptions","toText","styles","EmptyValue","$","_c","t0","Symbol","for","empty","isEmpty","value","undefined","Array","isArray","length","TextDisplay","field","intl","t1","locale","text","t2","settings","secret","formatMessage","secretValue","t3","RichTextDisplay","replace","trim","NumberDisplay","number","Number","NaN","isNaN","formatNumber","BooleanDisplay","checked","boolean","true","false","yes","no","t4","t5","DATE_ONLY","TIME_ONLY","parseDate","Date","day","exec","date","getTime","DateDisplay","bb0","String","formatDate","dateStyle","DateTimeDisplay","timeStyle","DateRangeDisplay","range","timeZone","kind","rangeFrom","start","rangeUntil","end","MoneyDisplay","TimeDisplay","match","formatTime","SelectDisplay","options","values","badges","map","entry","option","tone","label","RelationDisplay","references","_temp","join","reference","UrlDisplay","link","EmailDisplay","TelDisplay","extension","t6","t7","t8","flagged","country","flag","phoneExtension","international","Country","code","CountryDisplay","codes","filter","_temp2","countries","_temp3","code_0","RegionDisplay","item","name","regionFlag","DurationDisplay","labels","days","daysUnit","hours","hoursUnit","minutes","minutesUnit","seconds","secondsUnit","units","JsonDisplay","json","JSON","stringify","slice","TagsDisplay","tags","_temp4","tag_0","tag","find","EmbedDisplay","url","title","thumbnailUrl","thumbnail","media","LocationDisplay","lat","lng","address","maximumFractionDigits","format","AddressDisplay","LINK_ICONS","page","email","tel","file","LinkDisplay","type","icon","newTab","target","rel","ColorDisplay","candidate","swatch","backgroundColor","paletteColor","color","MediaDisplay","filename","Record","source","builtInDisplays","Readonly","textarea","slug","richtext","datetime","time","select","relation","duration","embed","location","region","daterange","money","_c","styles"],"sources":["../../src/displays/displays.tsx"],"sourcesContent":["import { Check, File, FileText, Globe, Hash, Mail, Minus, Phone } from 'lucide-react';\n\nimport { toReferences } from '@panneau/fields';\nimport { formatAddress, isAddress } from '@panneau/fields/address';\nimport { getColorPalette, getSwatchColor } from '@panneau/fields/color';\nimport { getCountryFlag, getCountryName, isCountryCode } from '@panneau/fields/country';\nimport { formatDateRange, getDateRangeSettings } from '@panneau/fields/daterange';\nimport { formatDuration, getDurationUnits } from '@panneau/fields/duration';\nimport { getLinkText, isLink } from '@panneau/fields/link';\nimport { formatMoney } from '@panneau/fields/money';\nimport { RegionFlag, getRegionCountry, getRegionName } from '@panneau/fields/region';\nimport { parsePhone, splitExtension } from '@panneau/fields/tel';\nimport { fieldsMessages } from '@panneau/intl';\nimport { Badge, Icon, type Tone, usePanneauIntl } from '@panneau/ui';\n\nimport { messages } from '../messages';\nimport type { DisplayEntry, DisplayProps } from '../types';\nimport { findOption, getFieldOptions, toText } from '../values';\nimport styles from './Displays.module.css';\n\n/** What a cell shows without a value. Hidden from assistive technologies, which skip the cell. */\nexport function EmptyValue() {\n return (\n <span className={styles.empty} aria-hidden=\"true\">\n —\n </span>\n );\n}\n\nfunction isEmpty(value: unknown): boolean {\n return (\n value === null ||\n value === undefined ||\n value === '' ||\n (Array.isArray(value) && value.length === 0)\n );\n}\n\n/**\n * Text, on two lines at most. The default display. The value of a `secret` text field\n * (`settings.secret`) shows as dots, never in clear.\n */\nexport function TextDisplay({ value, field }: DisplayProps) {\n const intl = usePanneauIntl();\n const text = toText(value, intl.locale);\n if (text === '') {\n return <EmptyValue />;\n }\n if (field?.settings?.secret === true) {\n return (\n <span role=\"img\" aria-label={intl.formatMessage(messages.secretValue)}>\n ••••••••\n </span>\n );\n }\n return (\n <span className={styles.text} data-clamp=\"\">\n {text}\n </span>\n );\n}\n\n/** HTML as plain text. */\nexport function RichTextDisplay({ value }: DisplayProps) {\n const text =\n typeof value === 'string'\n ? value\n .replace(/<[^>]*>/g, ' ')\n .replace(/\\s+/g, ' ')\n .trim()\n : '';\n return text === '' ? (\n <EmptyValue />\n ) : (\n <span className={styles.text} data-clamp=\"\">\n {text}\n </span>\n );\n}\n\n/** A number, in the format of the locale. */\nexport function NumberDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n const number =\n typeof value === 'number' ? value : typeof value === 'string' ? Number(value) : NaN;\n if (Number.isNaN(number) || isEmpty(value)) {\n return <EmptyValue />;\n }\n return <span className={styles.number}>{intl.formatNumber(number)}</span>;\n}\n\n/** Yes or no, as an icon with its label. */\nexport function BooleanDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n if (value === null || value === undefined) {\n return <EmptyValue />;\n }\n const checked = value === true || value === 1 || value === 'true' || value === '1';\n return (\n <span className={`${styles.boolean} ${checked ? styles.true : styles.false}`}>\n <Icon\n icon={checked ? Check : Minus}\n label={intl.formatMessage(checked ? messages.yes : messages.no)}\n />\n </span>\n );\n}\n\nconst DATE_ONLY = /^(\\d{4})-(\\d{2})-(\\d{2})$/;\nconst TIME_ONLY = /^(\\d{2}):(\\d{2})(?::(\\d{2}))?$/;\n\n/** A date (`2026-10-15`) as a local date, so that it doesn't move with the time zone. */\nfunction parseDate(value: unknown): Date | null {\n if (typeof value !== 'string' || value === '') {\n return null;\n }\n const day = DATE_ONLY.exec(value);\n const date =\n day !== null\n ? new Date(Number(day[1]), Number(day[2]) - 1, Number(day[3]))\n : new Date(value);\n return Number.isNaN(date.getTime()) ? null : date;\n}\n\n/** A date, in the format of the locale. */\nexport function DateDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n const date = parseDate(value);\n if (date === null) {\n return <EmptyValue />;\n }\n return <time dateTime={String(value)}>{intl.formatDate(date, { dateStyle: 'medium' })}</time>;\n}\n\n/** A date and a time, in the format and the time zone of the user. */\nexport function DateTimeDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n const date = parseDate(value);\n if (date === null) {\n return <EmptyValue />;\n }\n return (\n <time dateTime={String(value)}>\n {intl.formatDate(date, { dateStyle: 'medium', timeStyle: 'short' })}\n </time>\n );\n}\n\n/**\n * A range of dates (decision 0053), in the format of the locale: `Nov 4 – 6, 2026`. Date-times show\n * in the zone of the value or the field, with its short name when it isn't the user's. A range open\n * at one end shows `From Nov 4, 2026` or `Until Dec 1, 2026`.\n */\nexport function DateRangeDisplay({ value, field }: DisplayProps) {\n const intl = usePanneauIntl();\n const range = formatDateRange(\n value,\n intl.locale,\n getDateRangeSettings(field?.settings).timeZone,\n );\n if (range === null) {\n return <EmptyValue />;\n }\n const text =\n range.kind === 'from'\n ? intl.formatMessage(messages.rangeFrom, { start: range.text })\n : range.kind === 'until'\n ? intl.formatMessage(messages.rangeUntil, { end: range.text })\n : range.text;\n return (\n <span className={styles.text} data-clamp=\"\">\n {text}\n </span>\n );\n}\n\n/** An amount of money (decision 0053), in the currency format of the locale: `1 250,00 $`. */\nexport function MoneyDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n const text = formatMoney(value, intl.locale);\n if (text === null) {\n return <EmptyValue />;\n }\n return <span className={styles.number}>{text}</span>;\n}\n\n/** A time of day (`14:30`), in the format of the locale. */\nexport function TimeDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n const match = typeof value === 'string' ? TIME_ONLY.exec(value) : null;\n if (match === null) {\n return <EmptyValue />;\n }\n const date = new Date(2000, 0, 1, Number(match[1]), Number(match[2]), Number(match[3] ?? 0));\n return <time dateTime={String(value)}>{intl.formatTime(date, { timeStyle: 'short' })}</time>;\n}\n\n/** The labels of the selected options, as badges. */\nexport function SelectDisplay({ value, field }: DisplayProps) {\n const options = getFieldOptions(field);\n const values: unknown[] = Array.isArray(value) ? value : isEmpty(value) ? [] : [value];\n if (values.length === 0) {\n return <EmptyValue />;\n }\n return (\n <span className={styles.badges}>\n {values.map((entry) => {\n const option = findOption(options, entry);\n return (\n <Badge key={String(entry)} tone={(option?.tone ?? 'neutral') as Tone}>\n {option?.label ?? String(entry)}\n </Badge>\n );\n })}\n </span>\n );\n}\n\n/** The labels of related items. */\nexport function RelationDisplay({ value }: DisplayProps) {\n const references = toReferences(value);\n if (references.length === 0) {\n return <EmptyValue />;\n }\n return (\n <span className={styles.text} data-clamp=\"\">\n {references.map((reference) => reference.label).join(', ')}\n </span>\n );\n}\n\n/** A link that opens the URL. */\nexport function UrlDisplay({ value }: DisplayProps) {\n if (typeof value !== 'string' || value === '') {\n return <EmptyValue />;\n }\n return (\n <a className={styles.link} href={value} target=\"_blank\" rel=\"noreferrer\">\n {value.replace(/^https?:\\/\\//, '')}\n </a>\n );\n}\n\n/** A link that writes an email. */\nexport function EmailDisplay({ value }: DisplayProps) {\n if (typeof value !== 'string' || value === '') {\n return <EmptyValue />;\n }\n return (\n <a className={styles.link} href={`mailto:${value}`}>\n {value}\n </a>\n );\n}\n\n/**\n * A link that calls the phone number: the flag of its country and the number in its international\n * format (`+1 514 555 0199`), with its extension (`, ext. 123`) when its field allows one\n * (`settings.extension`) or the column has no field. A value that isn't E.164 shows as it is.\n */\nexport function TelDisplay({ value, field }: DisplayProps) {\n const intl = usePanneauIntl();\n if (typeof value !== 'string' || value.trim() === '') {\n return <EmptyValue />;\n }\n const { number: text, extension } =\n field === null || field.settings?.extension === true\n ? splitExtension(value)\n : { number: value, extension: null };\n const number = parsePhone(text);\n if (number === null) {\n return (\n <a className={styles.link} href={`tel:${value.replace(/[^\\d+]/g, '')}`}>\n {value}\n </a>\n );\n }\n return (\n <a\n className={`${styles.link} ${styles.flagged}`}\n href={`tel:${number.number}${extension !== null ? `;ext=${extension}` : ''}`}\n >\n {number.country !== null ? (\n <span className={styles.flag} aria-hidden=\"true\">\n {getCountryFlag(number.country)}\n </span>\n ) : null}\n {extension !== null\n ? intl.formatMessage(messages.phoneExtension, {\n number: number.international,\n extension,\n })\n : number.international}\n </a>\n );\n}\n\n/** A country: its flag and its name in the user's locale. */\nfunction Country({ code }: { code: string }) {\n const intl = usePanneauIntl();\n if (!isCountryCode(code)) {\n return (\n <span className={styles.text} data-clamp=\"\">\n {code}\n </span>\n );\n }\n return (\n <span className={styles.flagged}>\n <span className={styles.flag} aria-hidden=\"true\">\n {getCountryFlag(code)}\n </span>\n <span className={styles.text} data-clamp=\"\">\n {getCountryName(code, intl.locale)}\n </span>\n </span>\n );\n}\n\n/** A country, or several (`multiple`): their flags and their names in the user's locale. */\nexport function CountryDisplay({ value }: DisplayProps) {\n const codes = (Array.isArray(value) ? value : [value]).filter(\n (code): code is string => typeof code === 'string' && code !== '',\n );\n if (codes.length === 0) {\n return <EmptyValue />;\n }\n if (codes.length === 1) {\n return <Country code={codes[0] as string} />;\n }\n return (\n <span className={styles.countries}>\n {codes.map((code) => (\n <Country key={code} code={code} />\n ))}\n </span>\n );\n}\n\n/**\n * A region: its flag, when it has one, and its name in the user's locale, from its country in the\n * item (the field's `from`) or the field's settings. A region that Panneau doesn't know shows as it\n * is.\n */\nexport function RegionDisplay({ value, field, item }: DisplayProps) {\n const intl = usePanneauIntl();\n if (typeof value !== 'string' || value === '') {\n return <EmptyValue />;\n }\n const country = field !== null ? getRegionCountry(field, item) : null;\n const name = getRegionName(country, value, intl.locale);\n if (name === null) {\n return (\n <span className={styles.text} data-clamp=\"\">\n {value}\n </span>\n );\n }\n return (\n <span className={styles.flagged}>\n <RegionFlag country={country} code={value} className={styles.regionFlag} />\n <span className={styles.text} data-clamp=\"\">\n {name}\n </span>\n </span>\n );\n}\n\n/**\n * A duration with its units, `1 h 5 min` or `2 d 4 h`: in the unit of its field (seconds by\n * default), from its largest unit to its precision.\n */\nexport function DurationDisplay({ value, field }: DisplayProps) {\n const intl = usePanneauIntl();\n if (typeof value !== 'number' || Number.isNaN(value)) {\n return <EmptyValue />;\n }\n const labels = {\n days: intl.formatMessage(fieldsMessages.daysUnit),\n hours: intl.formatMessage(fieldsMessages.hoursUnit),\n minutes: intl.formatMessage(fieldsMessages.minutesUnit),\n seconds: intl.formatMessage(fieldsMessages.secondsUnit),\n };\n const units = field !== null ? getDurationUnits(field) : {};\n return <span className={styles.number}>{formatDuration(value, { ...units, labels })}</span>;\n}\n\n/** JSON on one line, shortened. */\nexport function JsonDisplay({ value }: DisplayProps) {\n if (value === null || value === undefined || typeof value !== 'object') {\n return <EmptyValue />;\n }\n const json = JSON.stringify(value);\n return (\n <code className={styles.code} title={json.length > 80 ? json : undefined}>\n {json.length > 80 ? `${json.slice(0, 79)}…` : json}\n </code>\n );\n}\n\n/** Tags, as badges, with the labels of their options. */\nexport function TagsDisplay({ value, field }: DisplayProps) {\n const tags = Array.isArray(value) ? value.filter((tag) => typeof tag === 'string') : [];\n if (tags.length === 0) {\n return <EmptyValue />;\n }\n const options = field?.options ?? [];\n return (\n <span className={styles.tags}>\n {tags.map((tag) => (\n <Badge key={tag}>\n {options.find((option) => String(option.value) === tag)?.label ?? tag}\n </Badge>\n ))}\n </span>\n );\n}\n\n/** What a URL embeds: its thumbnail and title, linked to it. */\nexport function EmbedDisplay({ value }: DisplayProps) {\n if (\n value === null ||\n typeof value !== 'object' ||\n typeof (value as { url?: unknown }).url !== 'string'\n ) {\n return <EmptyValue />;\n }\n const { url, title, thumbnailUrl } = value as {\n url: string;\n title?: unknown;\n thumbnailUrl?: unknown;\n };\n return (\n <a className={`${styles.link} ${styles.media}`} href={url} target=\"_blank\" rel=\"noreferrer\">\n {typeof thumbnailUrl === 'string' ? (\n <img className={styles.thumbnail} src={thumbnailUrl} alt=\"\" />\n ) : null}\n <span className={styles.text} data-clamp=\"\">\n {typeof title === 'string' ? title : url.replace(/^https?:\\/\\//, '')}\n </span>\n </a>\n );\n}\n\n/** A place: its address, or its coordinates. */\nexport function LocationDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n if (value === null || typeof value !== 'object') {\n return <EmptyValue />;\n }\n const { lat, lng, address } = value as { lat?: unknown; lng?: unknown; address?: unknown };\n if (typeof address === 'string' && address !== '') {\n return (\n <span className={styles.text} data-clamp=\"\">\n {address}\n </span>\n );\n }\n if (typeof lat !== 'number' || typeof lng !== 'number') {\n return <EmptyValue />;\n }\n const format = (number: number) => intl.formatNumber(number, { maximumFractionDigits: 5 });\n return (\n <span className={styles.number}>\n {format(lat)}, {format(lng)}\n </span>\n );\n}\n\n/** An address on one line, in the order of its country, after the flag of its country. */\nexport function AddressDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n if (!isAddress(value)) {\n return <EmptyValue />;\n }\n const text = formatAddress(value, intl.locale);\n const country = typeof value.country === 'string' ? value.country : '';\n if (text === '' && !isCountryCode(country)) {\n return <EmptyValue />;\n }\n return (\n <span className={styles.flagged}>\n {isCountryCode(country) ? (\n <span className={styles.flag} title={getCountryName(country, intl.locale)}>\n {getCountryFlag(country)}\n </span>\n ) : null}\n <span className={styles.text} data-clamp=\"\">\n {text !== '' ? text : getCountryName(country, intl.locale)}\n </span>\n </span>\n );\n}\n\nconst LINK_ICONS = { url: Globe, page: FileText, email: Mail, tel: Phone, file: File };\n\n/**\n * A link: the icon of its type, and its label in the user's locale, or its page or its URL. It\n * opens its URL when it has one, in a new tab when the link does.\n */\nexport function LinkDisplay({ value }: DisplayProps) {\n const intl = usePanneauIntl();\n if (!isLink(value)) {\n return <EmptyValue />;\n }\n const text = getLinkText(value, intl.locale);\n if (text === null) {\n return <EmptyValue />;\n }\n const icon = (\n <Icon icon={LINK_ICONS[value.type as keyof typeof LINK_ICONS] ?? Hash} size=\"sm\" />\n );\n const url = typeof value.url === 'string' && value.url !== '' ? value.url : null;\n if (url === null) {\n return (\n <span className={styles.flagged}>\n {icon}\n <span className={styles.text} data-clamp=\"\">\n {text}\n </span>\n </span>\n );\n }\n return (\n <a\n className={`${styles.link} ${styles.flagged}`}\n href={url}\n {...(value.newTab === true ? { target: '_blank', rel: 'noopener noreferrer' } : {})}\n >\n {icon}\n {text}\n </a>\n );\n}\n\n/**\n * A swatch, with the color's code. A color of the field's palette (`settings.palette`) shows its\n * swatch and its label.\n */\nexport function ColorDisplay({ value, field }: DisplayProps) {\n if (typeof value !== 'string' || value === '') {\n return <EmptyValue />;\n }\n const entry = getColorPalette(field)?.find((candidate) => candidate.value === value);\n if (entry !== undefined) {\n const swatch = getSwatchColor(entry);\n return (\n <span className={styles.paletteColor}>\n <span\n className={styles.swatch}\n style={swatch !== null ? { backgroundColor: swatch } : undefined}\n aria-hidden=\"true\"\n />\n <span className={styles.text} data-clamp=\"\">\n {entry.label ?? entry.value}\n </span>\n </span>\n );\n }\n return (\n <span className={styles.color}>\n <span className={styles.swatch} style={{ backgroundColor: value }} aria-hidden=\"true\" />\n {value}\n </span>\n );\n}\n\n/** A thumbnail and the name of a media item (or of the first one). */\nexport function MediaDisplay({ value }: DisplayProps) {\n const media: unknown = Array.isArray(value) ? value[0] : value;\n if (media === null || typeof media !== 'object') {\n return <EmptyValue />;\n }\n const { thumbnailUrl, url, name, filename } = media as Record<string, unknown>;\n const source =\n typeof thumbnailUrl === 'string' ? thumbnailUrl : typeof url === 'string' ? url : null;\n const label = typeof name === 'string' ? name : typeof filename === 'string' ? filename : '';\n return (\n <span className={styles.media}>\n {source !== null ? <img className={styles.thumbnail} src={source} alt=\"\" /> : null}\n {label !== '' ? (\n <span className={styles.text} data-clamp=\"\">\n {label}\n </span>\n ) : null}\n </span>\n );\n}\n\n/**\n * The built-in displays, by name. A column's display is its `display`, its field's `display`, or\n * its field's type: field types are display names. Values without a known display are shown as\n * text.\n */\nexport const builtInDisplays: Readonly<Record<string, DisplayEntry>> = {\n text: TextDisplay,\n textarea: TextDisplay,\n slug: TextDisplay,\n richtext: RichTextDisplay,\n number: NumberDisplay,\n boolean: BooleanDisplay,\n date: DateDisplay,\n datetime: DateTimeDisplay,\n time: TimeDisplay,\n select: SelectDisplay,\n relation: RelationDisplay,\n url: UrlDisplay,\n email: EmailDisplay,\n color: ColorDisplay,\n media: MediaDisplay,\n tel: TelDisplay,\n range: NumberDisplay,\n duration: DurationDisplay,\n json: JsonDisplay,\n tags: TagsDisplay,\n embed: EmbedDisplay,\n location: LocationDisplay,\n country: CountryDisplay,\n region: RegionDisplay,\n address: AddressDisplay,\n link: LinkDisplay,\n daterange: DateRangeDisplay,\n money: MoneyDisplay,\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CardsLayout.d.ts","sourceRoot":"","sources":["../../src/layouts/CardsLayout.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhD,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,EACxB,KAAK,EACL,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,EACR,aAAa,EACb,KAAK,EACL,aAAa,GAChB,EAAE,eAAe,+BAuDjB"}
1
+ {"version":3,"file":"CardsLayout.d.ts","sourceRoot":"","sources":["../../src/layouts/CardsLayout.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhD,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,EACxB,KAAK,EACL,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,EACR,aAAa,EACb,KAAK,EACL,aAAa,GAChB,EAAE,eAAe,+BA6DjB"}
@@ -1,5 +1,6 @@
1
1
  import { messages } from "../messages.js";
2
2
  import { ItemTitle } from "./ItemTitle.js";
3
+ import { RowActionsFit, fitContent, useRowActionsFit } from "../actions/fit.js";
3
4
  import CardsLayout_module_default from "./CardsLayout.module.js";
4
5
  import { c } from "react/compiler-runtime";
5
6
  import { Checkbox, usePanneauIntl } from "@panneau/ui";
@@ -7,107 +8,103 @@ import { jsx, jsxs } from "react/jsx-runtime";
7
8
  //#region src/layouts/CardsLayout.tsx
8
9
  /** Items as cards: the first column is the title, the others are listed under it. */
9
10
  function CardsLayout(t0) {
10
- const $ = c(27);
11
+ const $ = c(18);
11
12
  const { items, columns, renderValue, getItemLabel, getItemHref, isCurrent, selectable, isSelected, onToggle, renderActions, label, pageSelection } = t0;
12
13
  const intl = usePanneauIntl();
14
+ const [title, ...others] = columns;
13
15
  let t1;
14
- let t2;
15
- let t3;
16
- let t4;
17
- if ($[0] !== columns || $[1] !== getItemHref || $[2] !== getItemLabel || $[3] !== intl || $[4] !== isCurrent || $[5] !== isSelected || $[6] !== items || $[7] !== label || $[8] !== onToggle || $[9] !== pageSelection || $[10] !== renderActions || $[11] !== renderValue || $[12] !== selectable) {
18
- const [title, ...others] = columns;
19
- if ($[17] !== pageSelection || $[18] !== selectable) {
20
- t4 = selectable ? /* @__PURE__ */ jsx("div", {
21
- className: CardsLayout_module_default.pageSelection,
22
- children: pageSelection
23
- }) : null;
24
- $[17] = pageSelection;
25
- $[18] = selectable;
26
- $[19] = t4;
27
- } else t4 = $[19];
28
- t1 = CardsLayout_module_default.cards;
29
- t2 = label;
30
- t3 = items.map((item) => {
31
- const selected = selectable && isSelected(item);
32
- const actions = renderActions(item);
33
- const current = isCurrent?.(item) ?? false;
34
- return /* @__PURE__ */ jsxs("li", {
35
- className: CardsLayout_module_default.card,
36
- "data-selected": selected || void 0,
37
- "data-current": current || void 0,
38
- children: [
39
- /* @__PURE__ */ jsxs("div", {
40
- className: CardsLayout_module_default.header,
41
- children: [/* @__PURE__ */ jsx("div", {
42
- className: CardsLayout_module_default.title,
43
- children: /* @__PURE__ */ jsx(ItemTitle, {
44
- href: getItemHref?.(item) ?? null,
45
- current,
46
- children: title !== void 0 ? renderValue(item, title) : getItemLabel(item)
47
- })
48
- }), selectable ? /* @__PURE__ */ jsx(Checkbox, {
49
- "aria-label": intl.formatMessage(messages.selectItem, { item: getItemLabel(item) }),
50
- isSelected: selected,
51
- onChange: () => onToggle(item)
52
- }) : null]
53
- }),
54
- others.length > 0 ? /* @__PURE__ */ jsx("dl", {
55
- className: CardsLayout_module_default.values,
56
- children: others.map((column) => /* @__PURE__ */ jsxs("div", {
57
- className: CardsLayout_module_default.value,
58
- children: [/* @__PURE__ */ jsx("dt", { children: column.label ?? column.id }), /* @__PURE__ */ jsx("dd", { children: renderValue(item, column) })]
59
- }, column.id))
60
- }) : null,
61
- actions !== null ? /* @__PURE__ */ jsx("div", {
62
- className: CardsLayout_module_default.actions,
63
- children: actions
64
- }) : null
65
- ]
66
- }, item.id);
67
- });
16
+ if ($[0] !== columns || $[1] !== items) {
17
+ t1 = fitContent(items, columns);
68
18
  $[0] = columns;
69
- $[1] = getItemHref;
70
- $[2] = getItemLabel;
71
- $[3] = intl;
72
- $[4] = isCurrent;
73
- $[5] = isSelected;
74
- $[6] = items;
75
- $[7] = label;
76
- $[8] = onToggle;
77
- $[9] = pageSelection;
78
- $[10] = renderActions;
79
- $[11] = renderValue;
80
- $[12] = selectable;
81
- $[13] = t1;
82
- $[14] = t2;
83
- $[15] = t3;
84
- $[16] = t4;
85
- } else {
86
- t1 = $[13];
87
- t2 = $[14];
88
- t3 = $[15];
89
- t4 = $[16];
90
- }
19
+ $[1] = items;
20
+ $[2] = t1;
21
+ } else t1 = $[2];
22
+ const [fitLevel, measureList] = useRowActionsFit(t1);
23
+ const T0 = RowActionsFit;
24
+ let t2;
25
+ if ($[3] !== pageSelection || $[4] !== selectable) {
26
+ t2 = selectable ? /* @__PURE__ */ jsx("div", {
27
+ className: CardsLayout_module_default.pageSelection,
28
+ children: pageSelection
29
+ }) : null;
30
+ $[3] = pageSelection;
31
+ $[4] = selectable;
32
+ $[5] = t2;
33
+ } else t2 = $[5];
34
+ const t3 = CardsLayout_module_default;
35
+ const t4 = items.map((item) => {
36
+ const selected = selectable && isSelected(item);
37
+ const actions = renderActions(item);
38
+ const current = isCurrent?.(item) ?? false;
39
+ return /* @__PURE__ */ jsxs("li", {
40
+ className: CardsLayout_module_default.card,
41
+ "data-selected": selected || void 0,
42
+ "data-current": current || void 0,
43
+ children: [
44
+ /* @__PURE__ */ jsxs("div", {
45
+ className: CardsLayout_module_default.header,
46
+ children: [/* @__PURE__ */ jsx("div", {
47
+ className: CardsLayout_module_default.title,
48
+ children: /* @__PURE__ */ jsx(ItemTitle, {
49
+ href: getItemHref?.(item) ?? null,
50
+ current,
51
+ children: title !== void 0 ? renderValue(item, title) : getItemLabel(item)
52
+ })
53
+ }), selectable ? /* @__PURE__ */ jsx(Checkbox, {
54
+ "aria-label": intl.formatMessage(messages.selectItem, { item: getItemLabel(item) }),
55
+ isSelected: selected,
56
+ onChange: () => onToggle(item)
57
+ }) : null]
58
+ }),
59
+ others.length > 0 ? /* @__PURE__ */ jsx("dl", {
60
+ className: CardsLayout_module_default.values,
61
+ children: others.map((column) => /* @__PURE__ */ jsxs("div", {
62
+ className: CardsLayout_module_default.value,
63
+ children: [/* @__PURE__ */ jsx("dt", { children: column.label ?? column.id }), /* @__PURE__ */ jsx("dd", { children: renderValue(item, column) })]
64
+ }, column.id))
65
+ }) : null,
66
+ actions !== null ? /* @__PURE__ */ jsx("div", {
67
+ className: CardsLayout_module_default.actions,
68
+ children: actions
69
+ }) : null
70
+ ]
71
+ }, item.id);
72
+ });
91
73
  let t5;
92
- if ($[20] !== t1 || $[21] !== t2 || $[22] !== t3) {
74
+ if ($[6] !== label || $[7] !== t3.cards || $[8] !== t4) {
93
75
  t5 = /* @__PURE__ */ jsx("ul", {
94
- className: t1,
95
- "aria-label": t2,
96
- children: t3
76
+ className: t3.cards,
77
+ "aria-label": label,
78
+ children: t4
97
79
  });
98
- $[20] = t1;
99
- $[21] = t2;
100
- $[22] = t3;
101
- $[23] = t5;
102
- } else t5 = $[23];
80
+ $[6] = label;
81
+ $[7] = t3.cards;
82
+ $[8] = t4;
83
+ $[9] = t5;
84
+ } else t5 = $[9];
103
85
  let t6;
104
- if ($[24] !== t4 || $[25] !== t5) {
105
- t6 = /* @__PURE__ */ jsxs("div", { children: [t4, t5] });
106
- $[24] = t4;
107
- $[25] = t5;
108
- $[26] = t6;
109
- } else t6 = $[26];
110
- return t6;
86
+ if ($[10] !== measureList || $[11] !== t2 || $[12] !== t5) {
87
+ t6 = /* @__PURE__ */ jsxs("div", {
88
+ ref: measureList,
89
+ children: [t2, t5]
90
+ });
91
+ $[10] = measureList;
92
+ $[11] = t2;
93
+ $[12] = t5;
94
+ $[13] = t6;
95
+ } else t6 = $[13];
96
+ let t7;
97
+ if ($[14] !== T0 || $[15] !== fitLevel || $[16] !== t6) {
98
+ t7 = /* @__PURE__ */ jsx(T0, {
99
+ value: fitLevel,
100
+ children: t6
101
+ });
102
+ $[14] = T0;
103
+ $[15] = fitLevel;
104
+ $[16] = t6;
105
+ $[17] = t7;
106
+ } else t7 = $[17];
107
+ return t7;
111
108
  }
112
109
  //#endregion
113
110
  export { CardsLayout };
@@ -1 +1 @@
1
- {"version":3,"file":"CardsLayout.js","names":["Checkbox","usePanneauIntl","messages","ListLayoutProps","styles","ItemTitle","CardsLayout","t0","$","_c","items","columns","renderValue","getItemLabel","getItemHref","isCurrent","selectable","isSelected","onToggle","renderActions","label","pageSelection","intl","t1","t2","t3","t4","title","others","cards","map","item","selected","actions","current","id","card","undefined","header","formatMessage","selectItem","length","values","column","value","t5","t6","_c","styles"],"sources":["../../src/layouts/CardsLayout.tsx"],"sourcesContent":["import { Checkbox, usePanneauIntl } from '@panneau/ui';\n\nimport { messages } from '../messages';\nimport type { ListLayoutProps } from '../types';\nimport styles from './CardsLayout.module.css';\nimport { ItemTitle } from './ItemTitle';\n\n/** Items as cards: the first column is the title, the others are listed under it. */\nexport function CardsLayout({\n items,\n columns,\n renderValue,\n getItemLabel,\n getItemHref,\n isCurrent,\n selectable,\n isSelected,\n onToggle,\n renderActions,\n label,\n pageSelection,\n}: ListLayoutProps) {\n const intl = usePanneauIntl();\n const [title, ...others] = columns;\n return (\n <div>\n {selectable ? <div className={styles.pageSelection}>{pageSelection}</div> : null}\n <ul className={styles.cards} aria-label={label}>\n {items.map((item) => {\n const selected = selectable && isSelected(item);\n const actions = renderActions(item);\n const current = isCurrent?.(item) ?? false;\n return (\n <li\n key={item.id}\n className={styles.card}\n data-selected={selected || undefined}\n data-current={current || undefined}\n >\n <div className={styles.header}>\n <div className={styles.title}>\n <ItemTitle href={getItemHref?.(item) ?? null} current={current}>\n {title !== undefined\n ? renderValue(item, title)\n : getItemLabel(item)}\n </ItemTitle>\n </div>\n {selectable ? (\n <Checkbox\n aria-label={intl.formatMessage(messages.selectItem, {\n item: getItemLabel(item),\n })}\n isSelected={selected}\n onChange={() => onToggle(item)}\n />\n ) : null}\n </div>\n {others.length > 0 ? (\n <dl className={styles.values}>\n {others.map((column) => (\n <div key={column.id} className={styles.value}>\n <dt>{column.label ?? column.id}</dt>\n <dd>{renderValue(item, column)}</dd>\n </div>\n ))}\n </dl>\n ) : null}\n {actions !== null ? (\n <div className={styles.actions}>{actions}</div>\n ) : null}\n </li>\n );\n })}\n </ul>\n </div>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"CardsLayout.js","names":["Checkbox","usePanneauIntl","RowActionsFit","fitContent","useRowActionsFit","messages","ListLayoutProps","styles","ItemTitle","CardsLayout","t0","$","_c","items","columns","renderValue","getItemLabel","getItemHref","isCurrent","selectable","isSelected","onToggle","renderActions","label","pageSelection","intl","title","others","t1","fitLevel","measureList","T0","t2","t4","map","item","selected","actions","current","id","card","undefined","header","formatMessage","selectItem","length","values","column","value","t5","t3","cards","t6","t7","_c","styles"],"sources":["../../src/layouts/CardsLayout.tsx"],"sourcesContent":["import { Checkbox, usePanneauIntl } from '@panneau/ui';\n\nimport { RowActionsFit, fitContent, useRowActionsFit } from '../actions/fit';\nimport { messages } from '../messages';\nimport type { ListLayoutProps } from '../types';\nimport styles from './CardsLayout.module.css';\nimport { ItemTitle } from './ItemTitle';\n\n/** Items as cards: the first column is the title, the others are listed under it. */\nexport function CardsLayout({\n items,\n columns,\n renderValue,\n getItemLabel,\n getItemHref,\n isCurrent,\n selectable,\n isSelected,\n onToggle,\n renderActions,\n label,\n pageSelection,\n}: ListLayoutProps) {\n const intl = usePanneauIntl();\n const [title, ...others] = columns;\n const [fitLevel, measureList] = useRowActionsFit(fitContent(items, columns));\n return (\n <RowActionsFit value={fitLevel}>\n <div ref={measureList}>\n {selectable ? <div className={styles.pageSelection}>{pageSelection}</div> : null}\n <ul className={styles.cards} aria-label={label}>\n {items.map((item) => {\n const selected = selectable && isSelected(item);\n const actions = renderActions(item);\n const current = isCurrent?.(item) ?? false;\n return (\n <li\n key={item.id}\n className={styles.card}\n data-selected={selected || undefined}\n data-current={current || undefined}\n >\n <div className={styles.header}>\n <div className={styles.title}>\n <ItemTitle\n href={getItemHref?.(item) ?? null}\n current={current}\n >\n {title !== undefined\n ? renderValue(item, title)\n : getItemLabel(item)}\n </ItemTitle>\n </div>\n {selectable ? (\n <Checkbox\n aria-label={intl.formatMessage(messages.selectItem, {\n item: getItemLabel(item),\n })}\n isSelected={selected}\n onChange={() => onToggle(item)}\n />\n ) : null}\n </div>\n {others.length > 0 ? (\n <dl className={styles.values}>\n {others.map((column) => (\n <div key={column.id} className={styles.value}>\n <dt>{column.label ?? column.id}</dt>\n <dd>{renderValue(item, column)}</dd>\n </div>\n ))}\n </dl>\n ) : null}\n {actions !== null ? (\n <div className={styles.actions}>{actions}</div>\n ) : null}\n </li>\n );\n })}\n </ul>\n </div>\n </RowActionsFit>\n );\n}\n"],"mappings":"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"}
@@ -73,6 +73,13 @@
73
73
  display: flex;
74
74
  flex-shrink: 0;
75
75
  gap: var(--panneau-space-1);
76
+ max-width: 100%;
77
+ overflow: hidden;
78
+ }
79
+
80
+ /* On one line: the list measures what doesn't fit, and moves it to the menu (decision 0060). */
81
+ .panneau-gallery-layout-actions > * {
82
+ flex-wrap: nowrap;
76
83
  }
77
84
 
78
85
  .panneau-gallery-layout-page-selection {
@@ -1 +1 @@
1
- {"version":3,"file":"GalleryLayout.d.ts","sourceRoot":"","sources":["../../src/layouts/GalleryLayout.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC1B,KAAK,EACL,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,EACR,aAAa,EACb,KAAK,EACL,aAAa,GAChB,EAAE,eAAe,+BAyDjB"}
1
+ {"version":3,"file":"GalleryLayout.d.ts","sourceRoot":"","sources":["../../src/layouts/GalleryLayout.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAIhD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC1B,KAAK,EACL,OAAO,EACP,WAAW,EACX,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,SAAS,EACT,UAAU,EACV,UAAU,EACV,QAAQ,EACR,aAAa,EACb,KAAK,EACL,aAAa,GAChB,EAAE,eAAe,+BAkEjB"}