material-plus-ui 1.9.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (280) hide show
  1. package/README.md +2 -2
  2. package/dist/a2ui/extended/api.d.ts +4 -4
  3. package/dist/components/accordion/MPAccordion.d.ts +13 -0
  4. package/dist/components/accordion/MPAccordion.js +1 -1
  5. package/dist/components/accordion/index.d.ts +1 -1
  6. package/dist/components/animate-counter/MPAnimateCounter.js +1 -1
  7. package/dist/components/animate-headline/MPAnimateHeadline.d.ts +8 -0
  8. package/dist/components/animate-headline/MPAnimateHeadline.js +1 -1
  9. package/dist/components/animate-lighting/MPAnimateLighting.js +1 -1
  10. package/dist/components/animate-marquee/MPAnimateMarquee.js +1 -1
  11. package/dist/components/animate-scramble/MPAnimateScramble.d.ts +8 -0
  12. package/dist/components/animate-scramble/MPAnimateScramble.js +1 -1
  13. package/dist/components/animate-split/MPAnimateSplit.d.ts +8 -0
  14. package/dist/components/animate-split/MPAnimateSplit.js +1 -1
  15. package/dist/components/animate-typing/MPAnimateTyping.d.ts +10 -2
  16. package/dist/components/animate-typing/MPAnimateTyping.js +1 -1
  17. package/dist/components/app-logo/MPAppLogo.d.ts +6 -1
  18. package/dist/components/area-chart/MPAreaChart.js +1 -1
  19. package/dist/components/avatar/MPAvatar.d.ts +16 -0
  20. package/dist/components/avatar/MPAvatar.js +1 -1
  21. package/dist/components/badge/MPBadge.d.ts +7 -6
  22. package/dist/components/bar-chart/MPBarChart.js +1 -1
  23. package/dist/components/breadcrumb/MPBreadcrumb.d.ts +8 -0
  24. package/dist/components/breadcrumb/MPBreadcrumb.js +1 -1
  25. package/dist/components/button/MPButton.d.ts +5 -3
  26. package/dist/components/carousel/MPCarousel.js +1 -1
  27. package/dist/components/checkbox/MPCheckbox.js +1 -1
  28. package/dist/components/chip/MPChip.d.ts +1 -1
  29. package/dist/components/chip/MPChip.js +1 -1
  30. package/dist/components/code-block/MPCodeBlock.js +1 -1
  31. package/dist/components/collapsible/MPCollapsible.js +1 -1
  32. package/dist/components/color-picker/MPColorPicker.js +1 -1
  33. package/dist/components/combobox/MPCombobox.d.ts +3 -2
  34. package/dist/components/combobox/MPCombobox.js +1 -1
  35. package/dist/components/command-palette/MPCommandPalette.d.ts +3 -1
  36. package/dist/components/command-palette/MPCommandPalette.js +1 -1
  37. package/dist/components/config/MPConfigProvider.d.ts +17 -1
  38. package/dist/components/config/MPConfigProvider.js +1 -1
  39. package/dist/components/confirm/MPConfirmProvider.js +1 -1
  40. package/dist/components/data-table/MPDataTable.d.ts +3 -36
  41. package/dist/components/data-table/MPDataTable.js +1 -1
  42. package/dist/components/date-picker/MPDatePicker.js +1 -1
  43. package/dist/components/date-range-picker/MPDateRangePicker.js +1 -1
  44. package/dist/components/date-time-picker/MPDateTimePicker.js +1 -1
  45. package/dist/components/dialog/MPDialog.d.ts +3 -2
  46. package/dist/components/drawer/MPDrawer.d.ts +13 -1
  47. package/dist/components/drawer/MPDrawer.js +1 -1
  48. package/dist/components/file-picker/MPFilePicker.js +1 -1
  49. package/dist/components/floating-action-button/MPFloatingActionButton.d.ts +3 -1
  50. package/dist/components/floating-bottom-navigation/MPFloatingBottomNavigation.d.ts +10 -1
  51. package/dist/components/floating-bottom-navigation/MPFloatingBottomNavigation.js +1 -1
  52. package/dist/components/form/MPForm.d.ts +3 -0
  53. package/dist/components/form/MPForm.js +1 -1
  54. package/dist/components/gauge-chart/MPGaugeChart.js +1 -1
  55. package/dist/components/header/MPHeader.js +1 -1
  56. package/dist/components/heatmap-chart/MPHeatmapChart.js +1 -1
  57. package/dist/components/hover-card/MPHoverCard.d.ts +8 -7
  58. package/dist/components/icon-button/MPIconButton.js +1 -1
  59. package/dist/components/image/MPImage.d.ts +5 -0
  60. package/dist/components/image/MPImage.js +1 -1
  61. package/dist/components/line-chart/MPLineChart.js +1 -1
  62. package/dist/components/list/MPList.d.ts +3 -2
  63. package/dist/components/locale/MPLocaleProvider.d.ts +15 -30
  64. package/dist/components/locale/MPLocaleProvider.js +1 -1
  65. package/dist/components/menu/MPMenu.d.ts +9 -1
  66. package/dist/components/menu/MPMenu.js +1 -1
  67. package/dist/components/meter/MPMeter.d.ts +5 -0
  68. package/dist/components/meter/MPMeter.js +1 -1
  69. package/dist/components/mockup/MPMockup.js +1 -1
  70. package/dist/components/navigation-menu/MPNavigationMenu.d.ts +27 -1
  71. package/dist/components/navigation-menu/MPNavigationMenu.js +1 -1
  72. package/dist/components/number-field/MPNumberField.d.ts +2 -1
  73. package/dist/components/number-field/MPNumberField.js +1 -1
  74. package/dist/components/otp-field/MPOtpField.js +1 -1
  75. package/dist/components/page-layout/MPPageLayout.js +1 -1
  76. package/dist/components/pagination/MPPagination.d.ts +12 -4
  77. package/dist/components/pagination/MPPagination.js +1 -1
  78. package/dist/components/panes/MPPanes.js +1 -1
  79. package/dist/components/pie-chart/MPPieChart.js +1 -1
  80. package/dist/components/pill/MPPill.js +1 -1
  81. package/dist/components/progress-box/MPProgressBox.js +1 -1
  82. package/dist/components/progress-circular/MPProgressCircular.js +1 -1
  83. package/dist/components/progress-linear/MPProgressLinear.d.ts +4 -3
  84. package/dist/components/progress-linear/MPProgressLinear.js +1 -1
  85. package/dist/components/radio-group/MPRadioGroup.js +1 -1
  86. package/dist/components/scatter-chart/MPScatterChart.js +1 -1
  87. package/dist/components/segmented-button/MPSegmentedButton.js +1 -1
  88. package/dist/components/sidebar/MPSidebar.d.ts +15 -2
  89. package/dist/components/sidebar/MPSidebar.js +1 -1
  90. package/dist/components/slider/MPSlider.d.ts +5 -0
  91. package/dist/components/slider/MPSlider.js +1 -1
  92. package/dist/components/snackbar/MPSnackbar.d.ts +8 -6
  93. package/dist/components/snackbar/MPSnackbar.js +1 -1
  94. package/dist/components/stepper/MPStepper.d.ts +9 -7
  95. package/dist/components/stepper/MPStepper.js +1 -1
  96. package/dist/components/switch/MPSwitch.js +1 -1
  97. package/dist/components/table/MPTable.d.ts +7 -3
  98. package/dist/components/tabs/MPTabs.js +1 -1
  99. package/dist/components/text-field/MPTextField.d.ts +9 -0
  100. package/dist/components/text-field/MPTextField.js +1 -1
  101. package/dist/components/time-picker/MPTimePicker.js +1 -1
  102. package/dist/components/timeline-chart/MPTimelineChart.js +1 -1
  103. package/dist/components/toolbar/MPToolbar.d.ts +3 -3
  104. package/dist/components/tooltip/MPTooltip.d.ts +6 -0
  105. package/dist/components/tour/MPTour.js +1 -1
  106. package/dist/components/transfer/MPTransfer.js +1 -1
  107. package/dist/components/tree-select/MPTreeSelect.d.ts +12 -2
  108. package/dist/components/tree-select/MPTreeSelect.js +1 -1
  109. package/dist/components/tree-view/MPTreeView.d.ts +8 -0
  110. package/dist/components/tree-view/MPTreeView.js +1 -1
  111. package/dist/hooks/index.d.ts +4 -2
  112. package/dist/hooks/index.js +1 -1
  113. package/dist/hooks/mpColorSchemeScript.d.ts +46 -0
  114. package/dist/hooks/mpColorSchemeScript.js +1 -0
  115. package/dist/hooks/useMPColorScheme.d.ts +2 -47
  116. package/dist/hooks/useMPColorScheme.js +1 -1
  117. package/dist/hooks/useMPMediaQuery.js +1 -1
  118. package/dist/hooks/useMPOnScreen.js +1 -1
  119. package/dist/internal/Calendar.js +1 -1
  120. package/dist/internal/ChartChrome.d.ts +11 -2
  121. package/dist/internal/ChartChrome.js +1 -1
  122. package/dist/internal/ChartFrame.js +1 -1
  123. package/dist/internal/FieldOutline.d.ts +20 -2
  124. package/dist/internal/FieldOutline.js +1 -1
  125. package/dist/internal/FieldValue.d.ts +35 -0
  126. package/dist/internal/FieldValue.js +2 -0
  127. package/dist/internal/Picker.d.ts +24 -5
  128. package/dist/internal/Picker.js +1 -1
  129. package/dist/internal/RenderedLink.d.ts +20 -0
  130. package/dist/internal/RenderedLink.js +2 -0
  131. package/dist/internal/SupportingText.js +1 -1
  132. package/dist/internal/animate.d.ts +4 -0
  133. package/dist/internal/animate.js +1 -1
  134. package/dist/internal/box-size.d.ts +22 -0
  135. package/dist/internal/box-size.js +2 -0
  136. package/dist/internal/chart.d.ts +21 -11
  137. package/dist/internal/chart.js +1 -1
  138. package/dist/internal/color-scheme-keys.d.ts +13 -0
  139. package/dist/internal/color-scheme-keys.js +1 -0
  140. package/dist/internal/color-scheme.d.ts +11 -2
  141. package/dist/internal/color-scheme.js +1 -1
  142. package/dist/internal/config.d.ts +2 -0
  143. package/dist/internal/date.d.ts +2 -8
  144. package/dist/internal/date.js +1 -1
  145. package/dist/internal/fold.d.ts +45 -0
  146. package/dist/internal/fold.js +2 -0
  147. package/dist/internal/highlight.js +1 -1
  148. package/dist/internal/i18n.d.ts +6 -53
  149. package/dist/internal/i18n.js +1 -1
  150. package/dist/internal/intersection.d.ts +50 -0
  151. package/dist/internal/intersection.js +2 -0
  152. package/dist/internal/intl.d.ts +22 -21
  153. package/dist/internal/intl.js +1 -1
  154. package/dist/internal/keys.d.ts +0 -9
  155. package/dist/internal/keys.js +1 -1
  156. package/dist/internal/layout-effect.d.ts +7 -0
  157. package/dist/internal/layout-effect.js +2 -0
  158. package/dist/internal/locale.d.ts +10 -2
  159. package/dist/internal/media.d.ts +1 -0
  160. package/dist/internal/media.js +1 -0
  161. package/dist/internal/messages/common.js +1 -1
  162. package/dist/internal/occurrence.d.ts +18 -0
  163. package/dist/internal/occurrence.js +1 -0
  164. package/dist/internal/page-layout.js +1 -1
  165. package/dist/internal/progress.d.ts +5 -0
  166. package/dist/internal/ref.d.ts +9 -0
  167. package/dist/internal/ref.js +1 -0
  168. package/dist/internal/remember.d.ts +36 -0
  169. package/dist/internal/remember.js +1 -0
  170. package/dist/internal/surface.d.ts +7 -1
  171. package/dist/internal/surface.js +1 -1
  172. package/dist/internal/table.d.ts +4 -4
  173. package/dist/internal/text.d.ts +10 -4
  174. package/dist/internal/text.js +1 -1
  175. package/dist/internal/window-class.d.ts +8 -0
  176. package/dist/internal/window-class.js +1 -1
  177. package/dist/locales/ar.js +1 -1
  178. package/dist/locales/de.js +1 -1
  179. package/dist/locales/es.js +1 -1
  180. package/dist/locales/fr.js +1 -1
  181. package/dist/locales/hi.js +1 -1
  182. package/dist/locales/id.js +1 -1
  183. package/dist/locales/it.js +1 -1
  184. package/dist/locales/ja.js +1 -1
  185. package/dist/locales/ko.js +1 -1
  186. package/dist/locales/nl.js +1 -1
  187. package/dist/locales/pl.js +1 -1
  188. package/dist/locales/pt.js +1 -1
  189. package/dist/locales/ru.js +1 -1
  190. package/dist/locales/th.js +1 -1
  191. package/dist/locales/tr.js +1 -1
  192. package/dist/locales/vi.js +1 -1
  193. package/dist/locales/zh-hans.js +1 -1
  194. package/dist/locales/zh-hant.js +1 -1
  195. package/dist/styles/accordion.css +1 -1
  196. package/dist/styles/alert.css +1 -1
  197. package/dist/styles/animate-appear.css +1 -1
  198. package/dist/styles/animate-blink.css +1 -1
  199. package/dist/styles/animate-counter.css +1 -1
  200. package/dist/styles/animate-fade.css +1 -1
  201. package/dist/styles/animate-float.css +1 -1
  202. package/dist/styles/animate-grow.css +1 -1
  203. package/dist/styles/animate-headline.css +1 -1
  204. package/dist/styles/animate-lighting.css +1 -1
  205. package/dist/styles/animate-marquee.css +1 -1
  206. package/dist/styles/animate-reveal.css +1 -1
  207. package/dist/styles/animate-rotate.css +1 -1
  208. package/dist/styles/animate-scramble.css +1 -1
  209. package/dist/styles/animate-shake.css +1 -1
  210. package/dist/styles/animate-slide.css +1 -1
  211. package/dist/styles/animate-split.css +1 -1
  212. package/dist/styles/animate-typing.css +1 -1
  213. package/dist/styles/animate-zoom.css +1 -1
  214. package/dist/styles/avatar.css +1 -1
  215. package/dist/styles/blockquote.css +1 -1
  216. package/dist/styles/box.css +1 -1
  217. package/dist/styles/breadcrumb.css +1 -1
  218. package/dist/styles/calendar.css +1 -1
  219. package/dist/styles/card.css +1 -1
  220. package/dist/styles/carousel.css +1 -1
  221. package/dist/styles/checkbox.css +1 -1
  222. package/dist/styles/chip.css +1 -1
  223. package/dist/styles/collapsible.css +1 -1
  224. package/dist/styles/color-picker.css +1 -1
  225. package/dist/styles/combobox.css +1 -1
  226. package/dist/styles/command-palette.css +1 -1
  227. package/dist/styles/confirm.css +1 -1
  228. package/dist/styles/data-table.css +1 -1
  229. package/dist/styles/date-picker.css +1 -1
  230. package/dist/styles/date-range-picker.css +1 -1
  231. package/dist/styles/date-time-picker.css +1 -1
  232. package/dist/styles/dialog.css +1 -1
  233. package/dist/styles/drawer.css +1 -1
  234. package/dist/styles/empty.css +1 -1
  235. package/dist/styles/floating-bottom-navigation.css +1 -1
  236. package/dist/styles/footer.css +1 -1
  237. package/dist/styles/gauge-chart.css +1 -1
  238. package/dist/styles/header.css +1 -1
  239. package/dist/styles/highlight.css +1 -1
  240. package/dist/styles/hover-card.css +1 -1
  241. package/dist/styles/image.css +1 -1
  242. package/dist/styles/list.css +1 -1
  243. package/dist/styles/menu.css +1 -1
  244. package/dist/styles/menubar.css +1 -1
  245. package/dist/styles/meter.css +1 -1
  246. package/dist/styles/navigation-menu.css +1 -1
  247. package/dist/styles/number-field.css +1 -1
  248. package/dist/styles/otp-field.css +1 -1
  249. package/dist/styles/overlay.css +1 -1
  250. package/dist/styles/page-layout.css +1 -1
  251. package/dist/styles/pill.css +1 -1
  252. package/dist/styles/popconfirm.css +1 -1
  253. package/dist/styles/popover.css +1 -1
  254. package/dist/styles/progress-box.css +1 -1
  255. package/dist/styles/progress-circular.css +1 -1
  256. package/dist/styles/progress-linear.css +1 -1
  257. package/dist/styles/radio-group.css +1 -1
  258. package/dist/styles/segmented-button.css +1 -1
  259. package/dist/styles/select.css +1 -1
  260. package/dist/styles/sidebar.css +1 -1
  261. package/dist/styles/slider.css +1 -1
  262. package/dist/styles/snackbar.css +1 -1
  263. package/dist/styles/spoiler.css +1 -1
  264. package/dist/styles/stack.css +1 -1
  265. package/dist/styles/stepper.css +1 -1
  266. package/dist/styles/switch.css +1 -1
  267. package/dist/styles/table.css +1 -1
  268. package/dist/styles/tabs.css +1 -1
  269. package/dist/styles/text-field.css +1 -1
  270. package/dist/styles/time-picker.css +1 -1
  271. package/dist/styles/tokens.css +1 -1
  272. package/dist/styles/toolbar.css +1 -1
  273. package/dist/styles/tour.css +1 -1
  274. package/dist/styles/transfer.css +1 -1
  275. package/dist/styles/tree-select.css +1 -1
  276. package/dist/styles/tree-view.css +1 -1
  277. package/dist/styles/typography.css +1 -1
  278. package/dist/styles.css +1 -1
  279. package/dist/tailwind.css +178 -29
  280. package/package.json +1 -1
@@ -0,0 +1,50 @@
1
+ /**
2
+ * One `IntersectionObserver` per set of options, shared by everything here that
3
+ * asks whether it is on screen.
4
+ *
5
+ * An observer is not free. Each one is checked by the browser on every frame
6
+ * the page scrolls, and every `MPAnimate*` with `trigger="visible"`, every
7
+ * `useMPOnScreen` and every indeterminate progress indicator used to bring its
8
+ * own — so a landing page of forty fading cards was forty observers asking the
9
+ * same question at the same threshold. One observer watching forty elements
10
+ * answers it once per frame, and delivers exactly the entries the forty would
11
+ * have: observing an element always queues a first entry for that element,
12
+ * shared observer or not.
13
+ *
14
+ * The one case sharing changes is a second question about an element that is
15
+ * already observed. Observing it again queues nothing, so the latest entry for
16
+ * each element is kept and handed to a listener that joins after the first one
17
+ * was delivered.
18
+ *
19
+ * Keyed on what changes the answer, the threshold and the root margin, so two
20
+ * callers that asked different questions still get different observers.
21
+ */
22
+ import * as React from 'react';
23
+ type Listener = (entry: IntersectionObserverEntry) => void;
24
+ export interface IntersectionOptions {
25
+ threshold?: number;
26
+ rootMargin?: string;
27
+ }
28
+ /**
29
+ * Calls `listener` with every intersection entry for `element`, starting with
30
+ * the first one the browser reports. Returns the function that stops it.
31
+ *
32
+ * Callers check for `IntersectionObserver` themselves first, because each has
33
+ * its own answer for a browser without one.
34
+ */
35
+ export declare function watchIntersection(element: Element, listener: Listener, { threshold, rootMargin }?: IntersectionOptions): () => void;
36
+ /**
37
+ * Holds an endless CSS animation while its element is off screen.
38
+ *
39
+ * A loop nobody can see is still a loop the browser runs: a style pass every
40
+ * frame for the glow's custom property, and a layout pass for the linear
41
+ * indicator's bars, which move by `inset`. Marking the element lets the
42
+ * stylesheet set `animation-play-state: paused` on whatever part of it moves,
43
+ * and taking the mark off lets it carry on from where it stopped — which, for
44
+ * a loop, is indistinguishable from never having stopped.
45
+ *
46
+ * Written as an attribute straight onto the element rather than as state, so
47
+ * scrolling past one is not a render.
48
+ */
49
+ export declare function useOffscreenPause(enabled: boolean): React.RefObject<Element | null>;
50
+ export {};
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ import*as e from"react";const t=new Map;export function watchIntersection(e,r,{threshold:n=0,rootMargin:s="0px"}={}){const o=`${n} ${s}`;let c=t.get(o);if(!c){const e=new Map,r=new Map;c={observer:new IntersectionObserver(t=>{for(const n of t){r.set(n.target,n);for(const t of e.get(n.target)??[])t(n)}},{threshold:n,rootMargin:s}),listeners:e,latest:r},t.set(o,c)}const{observer:i,listeners:f,latest:a}=c;let u=f.get(e),l=!1;if(u){const t=a.get(e);t&&queueMicrotask(()=>{l||r(t)})}else u=new Set,f.set(e,u),i.observe(e);return u.add(r),()=>{l||(l=!0,u.delete(r),u.size>0||(f.delete(e),a.delete(e),i.unobserve(e),0===f.size&&(i.disconnect(),t.delete(o))))}}const r="data-mp-offscreen";export function useOffscreenPause(t){const n=e.useRef(null);return e.useEffect(()=>{const e=n.current;if(!e||!t||"undefined"==typeof IntersectionObserver)return;const s=watchIntersection(e,t=>{e.toggleAttribute(r,!t.isIntersecting)});return()=>{s(),e.removeAttribute(r)}},[t]),n}
@@ -21,34 +21,35 @@
21
21
  * Nothing here is exported from `src/index.ts`. It is the library talking to
22
22
  * itself, in the sense `internal/` always means.
23
23
  */
24
+ export { CACHE_LIMIT, remember } from './remember.js';
24
25
  /**
25
- * How many entries a cache here holds before it starts forgetting.
26
+ * A tag `Intl` will accept, from the tag a caller handed over.
26
27
  *
27
- * The caches are keyed on a locale and an options object, and the options are a
28
- * caller's prop — so how many distinct keys there are is not something this file
29
- * gets to decide. A table formatting a number per row against a per-row format
30
- * would add an `Intl.NumberFormat` to a `Map` that never dropped one, for as
31
- * long as the page was open. Nothing has ever reported that, and a cache with no
32
- * ceiling is still a leak with a slow fuse.
33
- *
34
- * Sixty-four is far above what a page uses. A chart asks for two or three
35
- * shapes, a statistic for two, and every component on the page shares them; the
36
- * limit is for the case nobody planned rather than the case everybody has.
28
+ * `Intl` throws a `RangeError` on a tag it cannot parse, and the tags that
29
+ * reach this library are not always tags: a request's `Accept-Language` passed
30
+ * straight through is `en-US,en;q=0.9`, and a locale read off a server is often
31
+ * `ko_KR`. The words in this library's table already take both — they match on
32
+ * the language whatever separates it — so a malformed tag wrote its labels in
33
+ * Korean and then took the whole render down at the first number. It is tidied
34
+ * the way a person would read it — the first of a list, without its weight,
35
+ * with hyphens — and a tag that still does not parse is the runtime's own.
37
36
  */
38
- export declare const CACHE_LIMIT = 64;
37
+ export declare function intlLocale(locale: string | undefined): string | undefined;
39
38
  /**
40
- * Puts an entry in, and drops the oldest if that took the map over the line.
39
+ * Says so, once per process, when a server formats a date, a number or an
40
+ * order with no locale named.
41
41
  *
42
- * A `Map` iterates in insertion order, so its first key is its oldest — which
43
- * makes the eviction one delete rather than a data structure.
42
+ * `undefined` means the runtime's own locale, and a server and a browser are two
43
+ * runtimes: Node answers from the machine's `LANG` and the browser from the
44
+ * reader's language. The same value therefore comes out as `1,234.5` in the
45
+ * markup and `1.234,5` in the first client render, and React discards the
46
+ * server's markup — the whole page, without a Suspense boundary — and renders
47
+ * it again. Nothing about that failure points back here, so this does.
44
48
  *
45
- * Not a true LRU: reading an entry does not renew it, so a formatter used on
46
- * every render could in principle be evicted by sixty-four newer ones. It would
47
- * be rebuilt on the next call, which costs exactly what the miss it already was
48
- * cost — and tracking use would mean writing to the map on every *read*, which
49
- * is the hot path this whole thing exists to keep cheap.
49
+ * Only on a server, and only once. In a browser an unnamed locale is the
50
+ * reader's own and exactly what was asked for.
50
51
  */
51
- export declare function remember<Value>(cache: Map<string, Value>, key: string, value: Value): Value;
52
+ export declare function checkServerLocale(locale: string | undefined): void;
52
53
  /** A memoised `Intl.NumberFormat`. `undefined` locale means the runtime's own. */
53
54
  export declare const numberFormatter: (locale: string | undefined, options?: Intl.NumberFormatOptions | undefined) => Intl.NumberFormat;
54
55
  /** A memoised `Intl.DateTimeFormat`. `undefined` locale means the runtime's own. */
@@ -1 +1 @@
1
- export const CACHE_LIMIT=64;export function remember(e,t,n){if(e.set(t,n),e.size>64){const t=e.keys().next();t.done||e.delete(t.value)}return n}function e(e){const t=new Map;return(n,r)=>{const o=function(e,t){return`${e??""}\0${t?JSON.stringify(t):""}`}(n,r);return t.get(o)??remember(t,o,e(n,r))}}export const numberFormatter=e((e,t)=>new Intl.NumberFormat(e,t));export const dateTimeFormatter=e((e,t)=>new Intl.DateTimeFormat(e,t));export const segmenter=e((e,t)=>"undefined"!=typeof Intl&&"Segmenter"in Intl?new Intl.Segmenter(e,t):null);
1
+ export{CACHE_LIMIT,remember}from"./remember.js";import{remember as e}from"./remember.js";function t(t){const r=new Map,n=new WeakMap;return(o,a)=>{const l=a?n.get(a)?.get(o??""):void 0;if(void 0!==l)return l;const i=function(e,t){return`${e??""}\0${t?JSON.stringify(t):""}`}(o,a),c=r.get(i)??e(r,i,t(o,a));if(a){const e=n.get(a)??new Map;e.set(o??"",c),n.set(a,e)}return c}}const r=new Map;export function intlLocale(t){if(void 0===t)return;if(r.has(t))return r.get(t);const n=t.split(",")[0].split(";")[0].trim().replace(/_/g,"-");let o;for(const e of[t,n])try{Intl.getCanonicalLocales(e),o=e;break}catch{}return e(r,t,o)}let n=!1;export function checkServerLocale(e){void 0!==e||n||"undefined"!=typeof window||(n=!0,console.warn("[material-plus-ui] A server formatted a date or a number with no locale, so a browser in another language will not match its markup while hydrating. Set `locale` or `serverLocale` on `MPLocaleProvider`: https://material-plus.cdget.com/design/localization#on-a-server"))}export const numberFormatter=/* @__PURE__ */t((e,t)=>(checkServerLocale(e),new Intl.NumberFormat(intlLocale(e),t)));export const dateTimeFormatter=/* @__PURE__ */t((e,t)=>(checkServerLocale(e),new Intl.DateTimeFormat(intlLocale(e),t)));export const segmenter=/* @__PURE__ */t((e,t)=>"undefined"!=typeof Intl&&"Segmenter"in Intl?new Intl.Segmenter(intlLocale(e),t):null);
@@ -18,15 +18,6 @@
18
18
  */
19
19
  /** The three real platforms a shortcut is spelled for. */
20
20
  export type MPResolvedOS = 'mac' | 'windows' | 'linux';
21
- /**
22
- * What the browser says it is running on.
23
- *
24
- * `userAgentData.platform` is the modern spelling and `navigator.platform` the
25
- * deprecated one that every browser still answers; the user agent string is the
26
- * last resort. All three are matched at once because the question is coarse —
27
- * which of three key caps to print — and getting it slightly wrong is a label,
28
- * not a bug.
29
- */
30
21
  export declare function detectOS(): MPResolvedOS;
31
22
  /**
32
23
  * `useSyncExternalStore` rather than `useEffect` plus state, and rather than
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import*as t from"react";export function detectOS(){if("undefined"==typeof navigator)return"windows";const t=navigator.userAgentData,e=`${t?.platform??""} ${navigator.platform??""} ${navigator.userAgent??""}`;return/mac|iphone|ipad|ipod/i.test(e)?"mac":/win/i.test(e)?"windows":"linux"}function e(){return()=>{}}function r(){return"windows"}export function useDetectedOS(){return t.useSyncExternalStore(e,detectOS,r)}export function tokenizeShortcut(t){return Array.isArray(t)?t.map(t=>t.trim()).filter(Boolean):t.split("+").map(t=>t.trim()).filter(Boolean)}export function matchesShortcut(t,e,r){const n=tokenizeShortcut(e).map(t=>t.toLowerCase()),o=n[n.length-1];if(void 0===o)return!1;const a=new Set(n.slice(0,-1)),i=a.has("mod"),s=a.has("ctrl")||i&&"mac"!==r,c=a.has("meta")||i&&"mac"===r;return s===t.ctrlKey&&c===t.metaKey&&(a.has("shift")===t.shiftKey&&a.has("alt")===t.altKey&&t.key.toLowerCase()===o)}
2
+ import*as t from"react";let e;export function detectOS(){return"undefined"==typeof navigator?"windows":(e??=function(){const t=navigator.userAgentData,e=`${t?.platform??""} ${navigator.platform??""} ${navigator.userAgent??""}`;if(/mac|iphone|ipad|ipod/i.test(e))return"mac";if(/win/i.test(e))return"windows";return"linux"}(),e)}function r(){return()=>{}}function n(){return"windows"}export function useDetectedOS(){return t.useSyncExternalStore(r,detectOS,n)}export function tokenizeShortcut(t){return Array.isArray(t)?t.map(t=>t.trim()).filter(Boolean):t.split("+").map(t=>t.trim()).filter(Boolean)}export function matchesShortcut(t,e,r){const n=tokenizeShortcut(e).map(t=>t.toLowerCase()),o=n[n.length-1];if(void 0===o)return!1;const a=new Set(n.slice(0,-1)),i=a.has("mod"),c=a.has("ctrl")||i&&"mac"!==r,s=a.has("meta")||i&&"mac"===r;return c===t.ctrlKey&&s===t.metaKey&&(a.has("shift")===t.shiftKey&&a.has("alt")===t.altKey&&t.key.toLowerCase()===o)}
@@ -0,0 +1,7 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * `useLayoutEffect` in a browser, and `useEffect` — which a server skips just
4
+ * the same, without React 18's warning that a layout effect does nothing there
5
+ * — everywhere else.
6
+ */
7
+ export declare const useBrowserLayoutEffect: typeof React.useEffect;
@@ -0,0 +1,2 @@
1
+ "use client";
2
+ import*as e from"react";export const useBrowserLayoutEffect="undefined"==typeof window?e.useEffect:e.useLayoutEffect;
@@ -15,8 +15,16 @@
15
15
  * `resolveNamespace` in `internal/i18n.ts`. The runtime's own locale differs
16
16
  * between the server that renders the markup and the browser that hydrates it,
17
17
  * so reading it would put a hydration mismatch in the one part of the page a
18
- * reader is looking at. `undefined` therefore means "the platform's default",
19
- * which `Intl` resolves consistently in both places.
18
+ * reader is looking at.
19
+ *
20
+ * `undefined` means "the platform's default", and that is safe for the words
21
+ * and not for the numbers. The words fall back to English on both sides. `Intl`
22
+ * does not: handed `undefined` it answers in the *runtime's* locale, which is the
23
+ * machine's `LANG` on a server and the reader's language in a browser — so a
24
+ * server-rendered page that names no locale writes `1,234.5` into its markup and
25
+ * `1.234,5` into its first client render. `checkServerLocale` in
26
+ * `internal/intl.ts` says so when it happens; `MPLocaleProvider`'s `serverLocale`
27
+ * is the way out for a page that cannot know its reader's language on the server.
20
28
  */
21
29
  import * as React from 'react';
22
30
  import { type MPMessages, type MPNamespace } from './i18n.js';
@@ -0,0 +1 @@
1
+ export declare function mediaList(query: string): MediaQueryList | null;
@@ -0,0 +1 @@
1
+ const e=new Map;export function mediaList(n){if("undefined"==typeof window||!window.matchMedia)return null;let t=e.get(n);return t||(t=window.matchMedia(n),e.set(n,t)),t}
@@ -1 +1 @@
1
- export const COMMON={name:"common",en:{close:"Close",clear:"Clear",open:"Open",remove:"Remove",removeNamed:"Remove {label}",loading:"Loading"}};
1
+ export const COMMON={name:"common",en:{close:"Close",clear:"Clear",open:"Open",remove:"Remove",removeNamed:"Remove {label}",loading:"Loading",required:"Required"}};
@@ -0,0 +1,18 @@
1
+ /**
2
+ * A key for each entry of a caller's list: its value, and which occurrence of
3
+ * that value it is.
4
+ *
5
+ * The lists here are keyed so a value the caller repeated cannot collide —
6
+ * `${index}:${value}` did that, and also changed every key after the first row
7
+ * a filter dropped, so typing one letter into a long list unmounted and
8
+ * remounted every row below the first one it hid. Counting occurrences instead
9
+ * keeps a row's key for as long as the row is there: the first `"Seoul"` is
10
+ * `0:Seoul` wherever it lands in the filtered list, and a second one is
11
+ * `1:Seoul`. The count comes first, and has no colon in it, so no value can
12
+ * spell another's key.
13
+ *
14
+ * Keyed by the entry object, so a list that is filtered and drawn somewhere
15
+ * else — Base UI hands a combobox's rows back one at a time — can still look
16
+ * each one up.
17
+ */
18
+ export declare function occurrenceKeys<Entry>(entries: readonly Entry[], valueOf: (entry: Entry) => unknown): Map<Entry, string>;
@@ -0,0 +1 @@
1
+ export function occurrenceKeys(e,n){const t=new Map,o=new Map;for(const c of e){const e=String(n(c)),r=t.get(e)??0;t.set(e,r+1),o.set(c,`${r}:${e}`)}return o}
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import*as e from"react";import{HIDDEN_BELOW as t,HIDDEN_FROM as n}from"./visibility.js";import{below as r,useWindowMins as o}from"./window-class.js";import{ELEVATION_SURFACE as a}from"./elevation.js";export const MPPageLayoutContext=/*@__PURE__*/e.createContext({present:!1,register:()=>{},collapseBelow:"none",open:{start:!1,end:!1},setOpen:()=>{},scroll:"page"});export const MPSidebarSideContext=/*@__PURE__*/e.createContext(null);export const COLLAPSED_ONLY={none:"hidden",compact:n.compact,medium:n.medium,expanded:n.expanded,large:n.large,"extra-large":n["extra-large"]};export const EXPANDED_ONLY={none:"",compact:t.compact,medium:t.medium,expanded:t.expanded,large:t.large,"extra-large":t["extra-large"]};export function useMPCollapsed(t){const n=o(),a=r("none"===t?0:n[t]),d=e.useCallback(e=>{if(!a||"undefined"==typeof window||!window.matchMedia)return()=>{};const t=window.matchMedia(a);return t.addEventListener("change",e),()=>t.removeEventListener("change",e)},[a]),i=e.useCallback(()=>!(!a||"undefined"==typeof window||!window.matchMedia)&&window.matchMedia(a).matches,[a]);return e.useSyncExternalStore(d,i,()=>!1)}export function drawerSide(e){const t="undefined"!=typeof document&&"rtl"===document.documentElement.dir;return"start"===e?t?"right":"left":t?"left":"right"}export const BAR_SURFACE={filled:"bg-mp-surface-container-highest",tonal:"bg-mp-surface-container",elevated:"shadow-mp-2 bg-mp-surface-container-low",outlined:"bg-mp-surface",text:"bg-transparent"};export function barSurface(e,t){return void 0===t?BAR_SURFACE[e]:a[t]}
2
+ import*as e from"react";import{mediaList as t}from"./media.js";import{HIDDEN_BELOW as n,HIDDEN_FROM as r}from"./visibility.js";import{below as o,useWindowMins as a}from"./window-class.js";import{ELEVATION_SURFACE as i}from"./elevation.js";export const MPPageLayoutContext=/*@__PURE__*/e.createContext({present:!1,register:()=>{},collapseBelow:"none",open:{start:!1,end:!1},setOpen:()=>{},scroll:"page"});export const MPSidebarSideContext=/*@__PURE__*/e.createContext(null);export const COLLAPSED_ONLY={none:"hidden",compact:r.compact,medium:r.medium,expanded:r.expanded,large:r.large,"extra-large":r["extra-large"]};export const EXPANDED_ONLY={none:"",compact:n.compact,medium:n.medium,expanded:n.expanded,large:n.large,"extra-large":n["extra-large"]};export function useMPCollapsed(n){const r=a(),i=o("none"===n?0:r[n]),d=e.useCallback(e=>{if(!i||"undefined"==typeof window||!window.matchMedia)return()=>{};const n=t(i);return n?.addEventListener("change",e),()=>n?.removeEventListener("change",e)},[i]),c=e.useCallback(()=>!(!i||"undefined"==typeof window||!window.matchMedia)&&(t(i)?.matches??!1),[i]);return e.useSyncExternalStore(d,c,()=>!1)}export function drawerSide(e){const t="undefined"!=typeof document&&"rtl"===document.documentElement.dir;return"start"===e?t?"right":"left":t?"left":"right"}export const BAR_SURFACE={filled:"bg-mp-surface-container-highest",tonal:"bg-mp-surface-container",elevated:"shadow-mp-2 bg-mp-surface-container-low",outlined:"bg-mp-surface",text:"bg-transparent"};export function barSurface(e,t){return void 0===t?BAR_SURFACE[e]:i[t]}
@@ -70,6 +70,11 @@ export interface MPProgressProps {
70
70
  * range nobody described.
71
71
  */
72
72
  format?: Intl.NumberFormatOptions;
73
+ /**
74
+ * The locale `format` writes the value in. Defaults to the nearest
75
+ * `MPLocaleProvider`, then to the runtime's own.
76
+ */
77
+ locale?: string;
73
78
  className?: string;
74
79
  style?: React.CSSProperties;
75
80
  }
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ /**
3
+ * One callback ref that hands the node to several refs, for a component that
4
+ * needs its own handle on an element a caller also holds a ref to.
5
+ *
6
+ * Memoised on the refs, so the callback is stable for as long as they are and
7
+ * React does not detach and reattach it on every render.
8
+ */
9
+ export declare function useJoinedRef<Node>(...refs: (React.Ref<Node> | undefined)[]): React.RefCallback<Node>;
@@ -0,0 +1 @@
1
+ import*as o from"react";export function useJoinedRef(...e){return o.useCallback(o=>{for(const r of e)"function"==typeof r?r(o):r&&(r.current=o)},e)}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * The size limit the library's caches share, kept apart from the caches.
3
+ *
4
+ * `internal/intl.ts` builds its formatter caches as it loads, and a bundler
5
+ * cannot drop that, so importing the limit from there brought every formatter
6
+ * cache along. `internal/i18n.ts` is read by every component with a word to
7
+ * say, which put them in a bundle holding nothing but a button.
8
+ */
9
+ /**
10
+ * How many entries a cache in this library holds before it starts forgetting.
11
+ *
12
+ * The caches are keyed on a locale and an options object, and the options are a
13
+ * caller's prop — so how many distinct keys there are is not something this file
14
+ * gets to decide. A table formatting a number per row against a per-row format
15
+ * would add an `Intl.NumberFormat` to a `Map` that never dropped one, for as
16
+ * long as the page was open. Nothing has ever reported that, and a cache with no
17
+ * ceiling is still a leak with a slow fuse.
18
+ *
19
+ * Sixty-four is far above what a page uses. A chart asks for two or three
20
+ * shapes, a statistic for two, and every component on the page shares them; the
21
+ * limit is for the case nobody planned rather than the case everybody has.
22
+ */
23
+ export declare const CACHE_LIMIT = 64;
24
+ /**
25
+ * Puts an entry in, and drops the oldest if that took the map over the line.
26
+ *
27
+ * A `Map` iterates in insertion order, so its first key is its oldest — which
28
+ * makes the eviction one delete rather than a data structure.
29
+ *
30
+ * Not a true LRU: reading an entry does not renew it, so a formatter used on
31
+ * every render could in principle be evicted by sixty-four newer ones. It would
32
+ * be rebuilt on the next call, which costs exactly what the miss it already was
33
+ * cost — and tracking use would mean writing to the map on every *read*, which
34
+ * is the hot path this whole thing exists to keep cheap.
35
+ */
36
+ export declare function remember<Value>(cache: Map<string, Value>, key: string, value: Value): Value;
@@ -0,0 +1 @@
1
+ export const CACHE_LIMIT=64;export function remember(e,t,n){if(e.set(t,n),e.size>64){const t=e.keys().next();t.done||e.delete(t.value)}return n}
@@ -36,8 +36,14 @@ export declare const PORTAL_LAYER = "mp-portal z-50 outline-none";
36
36
  * The 2px blur is not a frost. It is enough to take the edge off text directly
37
37
  * under the sheet without turning the page into a smear, which is the difference
38
38
  * between "you cannot use this right now" and "this is gone".
39
+ *
40
+ * It is also the one part of a scrim with a cost. A backdrop filter re-blurs the
41
+ * whole window behind it on every frame the scrim fades and on every frame
42
+ * anything under it changes, and on a low-end phone that is a frame budget.
43
+ * `--mp-scrim-blur` is the knob: `0px` on the page, or under
44
+ * `prefers-reduced-transparency`, keeps the tint and drops the filter.
39
45
  */
40
- export declare const SCRIM = "bg-mp-scrim/32 [backdrop-filter:blur(2px)]";
46
+ export declare const SCRIM = "bg-mp-scrim/32 [backdrop-filter:blur(var(--mp-scrim-blur,2px))]";
41
47
  /**
42
48
  * Opacity, and only opacity — what a **popup** arrives on.
43
49
  *
@@ -1 +1 @@
1
- export const PORTAL_LAYER="mp-portal z-50 outline-none";export const SCRIM="bg-mp-scrim/32 [backdrop-filter:blur(2px)]";export const FADE=/*@__PURE__*/["transition-opacity duration-(--mp-sys-motion-duration-short4)","ease-mp-standard","data-starting-style:opacity-0 data-ending-style:opacity-0"].join(" ");export const SHEET_MOTION=/*@__PURE__*/["duration-(--mp-sys-motion-duration-medium4)","ease-(--mp-sys-motion-easing-emphasized-decelerate)","data-ending-style:duration-(--mp-sys-motion-duration-short4)","data-ending-style:ease-(--mp-sys-motion-easing-emphasized-accelerate)","data-starting-style:opacity-0 data-ending-style:opacity-0"].join(" ");export const CONTAINER_SURFACE={filled:"bg-mp-surface-container-highest",tonal:"bg-mp-surface-container",elevated:"shadow-mp-1 bg-mp-surface-container-low",outlined:"border-mp-outline-variant border bg-transparent",text:"bg-transparent"};
1
+ export const PORTAL_LAYER="mp-portal z-50 outline-none";export const SCRIM="bg-mp-scrim/32 [backdrop-filter:blur(var(--mp-scrim-blur,2px))]";export const FADE=/*@__PURE__*/["transition-opacity duration-(--mp-sys-motion-duration-short4)","ease-mp-standard","data-starting-style:opacity-0 data-ending-style:opacity-0"].join(" ");export const SHEET_MOTION=/*@__PURE__*/["duration-(--mp-sys-motion-duration-medium4)","ease-(--mp-sys-motion-easing-emphasized-decelerate)","data-ending-style:duration-(--mp-sys-motion-duration-short4)","data-ending-style:ease-(--mp-sys-motion-easing-emphasized-accelerate)","data-starting-style:opacity-0 data-ending-style:opacity-0"].join(" ");export const CONTAINER_SURFACE={filled:"bg-mp-surface-container-highest",tonal:"bg-mp-surface-container",elevated:"shadow-mp-1 bg-mp-surface-container-low",outlined:"border-mp-outline-variant border bg-transparent",text:"bg-transparent"};
@@ -13,10 +13,10 @@ import type { MPDensity, MPSize } from '../types.js';
13
13
  export declare function cellPadX(size: MPSize, density: MPDensity): string;
14
14
  export declare function cellPadY(size: MPSize, density: MPDensity): string;
15
15
  /**
16
- * What a cell is set in. MD3's data table puts its cells in `body-medium` and
17
- * its column headings in `title-small` — 14px at weight 500, which is the same
18
- * size one weight up, so a heading reads as a heading without changing the
19
- * column's measure.
16
+ * What a cell is set in. Material's data table puts its cells in Body 2 and its
17
+ * column headings in Subtitle 2, which MD3's scale calls `body-medium` and
18
+ * `title-small` — 14px at weight 500, the same size one weight up, so a heading
19
+ * reads as a heading without changing the column's measure.
20
20
  */
21
21
  export declare const CELL_TEXT: Record<MPSize, string>;
22
22
  export declare const HEAD_TEXT: Record<MPSize, string>;
@@ -35,10 +35,16 @@ import * as React from 'react';
35
35
  /**
36
36
  * The text a node carries, and nothing about its markup.
37
37
  *
38
- * Elements contribute nothing on purpose. There is no honest way to type out
39
- * half of a link, or to scramble the third character of a `<strong>` and leave
40
- * the emphasis intact — the effects that read this animate *text*, so what they
41
- * take is text.
38
+ * An element gives the text of its children and drops its own tag. There is no
39
+ * honest way to type out half of a link, or to scramble the third character of
40
+ * a `<strong>` and leave the emphasis intact, so the effects that read this
41
+ * animate the words alone. Dropping the words as well took them out of the
42
+ * page entirely: the clipped copy a screen reader reads and the server's markup
43
+ * are both built from this string.
44
+ *
45
+ * A component's own children are read the same way, which is the text it was
46
+ * handed rather than whatever it renders. An element with no children, an icon
47
+ * say, gives nothing.
42
48
  */
43
49
  export declare function textOf(node: React.ReactNode): string;
44
50
  /** The text split the way a reader would split it: by grapheme cluster. */
@@ -1 +1 @@
1
- import{segmenter as t}from"./intl.js";const e={granularity:"grapheme"},r={granularity:"word"};export function textOf(t){return"string"==typeof t||"number"==typeof t?String(t):Array.isArray(t)?t.map(textOf).join(""):""}export function graphemesOf(r,n){const o=t(n,e);return o?[...o.segment(r)].map(t=>t.segment):[...r]}export function wordsOf(e,n){const o=t(n,r);if(!o)return e.match(/\S+\s*|\s+/g)??[];const s=[];for(const t of o.segment(e))t.isWordLike||0===s.length?s.push(t.segment):s[s.length-1]+=t.segment;return s}
1
+ import*as t from"react";import{segmenter as e}from"./intl.js";const r={granularity:"grapheme"},n={granularity:"word"};export function textOf(e){return"string"==typeof e||"number"==typeof e?String(e):Array.isArray(e)?e.map(textOf).join(""):t.isValidElement(e)?textOf(e.props.children):""}export function graphemesOf(t,n){const o=e(n,r);return o?[...o.segment(t)].map(t=>t.segment):[...t]}export function wordsOf(t,r){const o=e(r,n);if(!o)return t.match(/\S+\s*|\s+/g)??[];const s=[];for(const e of o.segment(t))e.isWordLike||0===s.length?s.push(e.segment):s[s.length-1]+=e.segment;return s}
@@ -44,5 +44,13 @@ export declare function useWindowMins(): Record<MPWindowClass, number>;
44
44
  * is given has to be stable between renders or it resubscribes on each one, and
45
45
  * a `breakpoints` prop written inline — which is how anybody would write it — is
46
46
  * a new object every time its provider renders.
47
+ *
48
+ * The server snapshot is `onServer` and nothing else, and it must not be `read`.
49
+ * React asks for the server snapshot twice: on the server, and again in the
50
+ * browser while it hydrates, to reproduce the markup the server sent. `read`
51
+ * measures the window wherever there is one, so in the browser it answered with
52
+ * the real class — and on every window outside the one class `onServer` named,
53
+ * the first client render disagreed with the server's, and React threw the
54
+ * server's markup away and rendered the page again.
47
55
  */
48
56
  export declare function useWindowClass(onServer: MPWindowClass): MPWindowClass;
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- import*as t from"react";import{MPConfigContext as e}from"./config.js";export const WINDOW_CLASSES=["compact","medium","expanded","large","extra-large"];export const WINDOW_MIN={compact:0,medium:600,expanded:840,large:1200,"extra-large":1600};export function atLeast(t){return t>0?`(width >= ${t}px)`:null}export function below(t){return t>0?`(width < ${t}px)`:null}export function useWindowMins(){const{breakpoints:n}=t.useContext(e);return n?{...WINDOW_MIN,...n,compact:0}:WINDOW_MIN}const n={classes:[],lists:[]},o=new Map;function s(t){if("undefined"==typeof window||!window.matchMedia)return n;let e=o.get(t);if(!e){const n=t.split(",").map(Number),s=WINDOW_CLASSES.map((t,e)=>[t,n[e]]).filter(([,t])=>t>0);e={classes:s.map(([t])=>t),lists:s.map(([,t])=>window.matchMedia(atLeast(t)))},o.set(t,e)}return e}export function useWindowClass(e){const n=(o=useWindowMins(),WINDOW_CLASSES.map(t=>o[t]).join(","));var o;const r=t.useCallback(t=>function(t,e){const{lists:n}=s(t);for(const t of n)t.addEventListener("change",e);return()=>{for(const t of n)t.removeEventListener("change",e)}}(n,t),[n]),a=t.useCallback(()=>function(t,e){const{classes:n,lists:o}=s(t);if(0===o.length)return e;let r=WINDOW_CLASSES[0];return n.forEach((t,e)=>{o[e]?.matches&&(r=t)}),r}(n,e),[n,e]);return t.useSyncExternalStore(r,a,a)}
2
+ import*as t from"react";import{MPConfigContext as e}from"./config.js";export const WINDOW_CLASSES=["compact","medium","expanded","large","extra-large"];export const WINDOW_MIN={compact:0,medium:600,expanded:840,large:1200,"extra-large":1600};export function atLeast(t){return t>0?`(width >= ${t}px)`:null}export function below(t){return t>0?`(width < ${t}px)`:null}export function useWindowMins(){const{breakpoints:n}=t.useContext(e);return n?{...WINDOW_MIN,...n,compact:0}:WINDOW_MIN}const n={classes:[],lists:[]},o=new Map;function s(t){if("undefined"==typeof window||!window.matchMedia)return n;let e=o.get(t);if(!e){const n=t.split(",").map(Number),s=WINDOW_CLASSES.map((t,e)=>[t,n[e]]).filter(([,t])=>t>0);e={classes:s.map(([t])=>t),lists:s.map(([,t])=>window.matchMedia(atLeast(t)))},o.set(t,e)}return e}export function useWindowClass(e){const n=(o=useWindowMins(),WINDOW_CLASSES.map(t=>o[t]).join(","));var o;const r=t.useCallback(t=>function(t,e){const{lists:n}=s(t);for(const t of n)t.addEventListener("change",e);return()=>{for(const t of n)t.removeEventListener("change",e)}}(n,t),[n]),a=t.useCallback(()=>function(t,e){const{classes:n,lists:o}=s(t);if(0===o.length)return e;let r=WINDOW_CLASSES[0];return n.forEach((t,e)=>{o[e]?.matches&&(r=t)}),r}(n,e),[n,e]),c=t.useCallback(()=>e,[e]);return t.useSyncExternalStore(r,a,c)}
@@ -1 +1 @@
1
- export const ar={locale:"ar",messages:{common:{close:"إغلاق",clear:"مسح",open:"فتح",remove:"إزالة",removeNamed:"إزالة {label}",loading:"جارٍ التحميل"},textField:{showPassword:"إظهار كلمة المرور",hidePassword:"إخفاء كلمة المرور"},empty:{title:"لا يوجد شيء هنا"},picker:{previousMonth:"الشهر السابق",nextMonth:"الشهر التالي",previousYear:"السنة السابقة",nextYear:"السنة التالية",previousYears:"السنوات السابقة",nextYears:"السنوات التالية",chooseMonth:"اختيار شهر",chooseYear:"اختيار سنة",today:"اليوم",thisMonth:"هذا الشهر",thisYear:"هذه السنة",now:"الآن",clear:"مسح",done:"تم",hour:"الساعة",minute:"الدقيقة",second:"الثانية",meridiem:"ص/م",start:"البداية",end:"النهاية"},numberField:{increase:"زيادة",decrease:"إنقاص"},carousel:{label:"عرض دوّار",previous:"الشريحة السابقة",next:"الشريحة التالية",slide:"الشريحة {index} من {total}"},scroll:{label:"محتوى قابل للتمرير",previous:"التمرير للخلف",next:"التمرير للأمام"},anchor:{label:"في هذه الصفحة"},code:{copy:"نسخ",copied:"تم النسخ",copyFailed:"تعذّر النسخ",raw:"النص الخام",label:"شفرة"},breadcrumb:{label:"مسار التنقل",expand:"إظهار الخطوات المخفية"},combobox:{empty:"لا توجد نتائج",add:"إضافة ”{label}“"},tour:{previous:"رجوع",next:"التالي",done:"تم",skip:"تخطي",position:"الخطوة {index} من {total}"},chart:{label:"مخطط",table:"بيانات المخطط",category:"الفئة",total:"الإجمالي",showAll:"عرض الكل"},sparkline:{summary:"نقاط: {count}، من {first} إلى {last}"},table:{empty:"لا توجد بيانات"},dataTable:{selectAll:"تحديد كل الصفوف",selectRow:"تحديد الصف",total:"الصفوف: {total}",selected:"المحدد: {count}",download:"تنزيل CSV",perPage:"صفوف لكل صفحة",resize:"تغيير عرض العمود"},filePicker:{prompt:"أفلِت الملفات هنا، أو انقر للاستعراض"},textLink:{newTab:"يُفتح في تبويب جديد"},overlay:{label:"طبقة تراكب"},alert:{dismiss:"إغلاق"},chat:{sending:"جارٍ الإرسال",sent:"تم الإرسال",delivered:"تم التسليم",read:"تمت القراءة",failed:"لم يتم الإرسال",typing:"يكتب الآن"},spoiler:{reveal:"إظهار",hide:"إخفاء",notice:"مخفي حتى لا يُقرأ بالخطأ"},pagination:{label:"ترقيم الصفحات",page:"الصفحة {page}",status:"الصفحة {page} من {total}",previous:"الصفحة السابقة",next:"الصفحة التالية",first:"الصفحة الأولى",last:"الصفحة الأخيرة"},rating:{label:"التقييم",value:"{value} من {max}",empty:"بدون تقييم"},colorPicker:{area:"التشبع والسطوع",hue:"درجة اللون",alpha:"العتامة",value:"قيمة اللون",swatches:"ألوان جاهزة",clear:"مسح",empty:"بلا لون"},transfer:{source:"المتاح",target:"المحدد",toTarget:"النقل إلى المحدد",toSource:"الإرجاع إلى المتاح",search:"بحث",empty:"لا شيء هنا",moved:"تم النقل إلى {list}: {count}"},command:{label:"لوحة الأوامر",search:"اكتب أمراً أو ابحث…",empty:"لا توجد أوامر مطابقة"},layout:{skipToContent:"تخطٍ إلى المحتوى",sidebar:"الشريط الجانبي",openSidebar:"فتح الشريط الجانبي",closeSidebar:"إغلاق الشريط الجانبي",resizeSidebar:"تغيير عرض الشريط الجانبي"},confirm:{confirm:"تأكيد",cancel:"إلغاء",ok:"حسنًا"}}};
1
+ export const ar={locale:"ar",messages:{common:{close:"إغلاق",clear:"مسح",open:"فتح",remove:"إزالة",removeNamed:"إزالة {label}",loading:"جارٍ التحميل",required:"مطلوب"},textField:{showPassword:"إظهار كلمة المرور",hidePassword:"إخفاء كلمة المرور"},empty:{title:"لا يوجد شيء هنا"},picker:{previousMonth:"الشهر السابق",nextMonth:"الشهر التالي",previousYear:"السنة السابقة",nextYear:"السنة التالية",previousYears:"السنوات السابقة",nextYears:"السنوات التالية",chooseMonth:"اختيار شهر",chooseYear:"اختيار سنة",today:"اليوم",thisMonth:"هذا الشهر",thisYear:"هذه السنة",now:"الآن",clear:"مسح",done:"تم",hour:"الساعة",minute:"الدقيقة",second:"الثانية",meridiem:"ص/م",start:"البداية",end:"النهاية"},numberField:{increase:"زيادة",decrease:"إنقاص"},carousel:{label:"عرض دوّار",previous:"الشريحة السابقة",next:"الشريحة التالية",slide:"الشريحة {index} من {total}"},scroll:{label:"محتوى قابل للتمرير",previous:"التمرير للخلف",next:"التمرير للأمام"},anchor:{label:"في هذه الصفحة"},code:{copy:"نسخ",copied:"تم النسخ",copyFailed:"تعذّر النسخ",raw:"النص الخام",label:"شفرة"},breadcrumb:{label:"مسار التنقل",expand:"إظهار الخطوات المخفية"},combobox:{empty:"لا توجد نتائج",add:"إضافة ”{label}“"},tour:{previous:"رجوع",next:"التالي",done:"تم",skip:"تخطي",position:"الخطوة {index} من {total}"},chart:{label:"مخطط",table:"بيانات المخطط",category:"الفئة",total:"الإجمالي",showAll:"عرض الكل"},sparkline:{summary:"نقاط: {count}، من {first} إلى {last}"},table:{empty:"لا توجد بيانات"},dataTable:{selectAll:"تحديد كل الصفوف",selectRow:"تحديد الصف",total:"الصفوف: {total}",selected:"المحدد: {count}",download:"تنزيل CSV",perPage:"صفوف لكل صفحة",resize:"تغيير عرض العمود"},filePicker:{prompt:"أفلِت الملفات هنا، أو انقر للاستعراض"},textLink:{newTab:"يُفتح في تبويب جديد"},overlay:{label:"طبقة تراكب"},alert:{dismiss:"إغلاق"},chat:{sending:"جارٍ الإرسال",sent:"تم الإرسال",delivered:"تم التسليم",read:"تمت القراءة",failed:"لم يتم الإرسال",typing:"يكتب الآن"},spoiler:{reveal:"إظهار",hide:"إخفاء",notice:"مخفي حتى لا يُقرأ بالخطأ"},pagination:{label:"ترقيم الصفحات",page:"الصفحة {page}",status:"الصفحة {page} من {total}",previous:"الصفحة السابقة",next:"الصفحة التالية",first:"الصفحة الأولى",last:"الصفحة الأخيرة"},rating:{label:"التقييم",value:"{value} من {max}",empty:"بدون تقييم"},colorPicker:{area:"التشبع والسطوع",hue:"درجة اللون",alpha:"العتامة",value:"قيمة اللون",swatches:"ألوان جاهزة",clear:"مسح",empty:"بلا لون"},transfer:{source:"المتاح",target:"المحدد",toTarget:"النقل إلى المحدد",toSource:"الإرجاع إلى المتاح",search:"بحث",empty:"لا شيء هنا",moved:"تم النقل إلى {list}: {count}"},command:{label:"لوحة الأوامر",search:"اكتب أمراً أو ابحث…",empty:"لا توجد أوامر مطابقة"},layout:{skipToContent:"تخطٍ إلى المحتوى",sidebar:"الشريط الجانبي",openSidebar:"فتح الشريط الجانبي",closeSidebar:"إغلاق الشريط الجانبي",resizeSidebar:"تغيير عرض الشريط الجانبي"},confirm:{confirm:"تأكيد",cancel:"إلغاء",ok:"حسنًا"}}};
@@ -1 +1 @@
1
- export const de={locale:"de",messages:{common:{close:"Schließen",clear:"Löschen",open:"Öffnen",remove:"Entfernen",removeNamed:"{label} entfernen",loading:"Wird geladen"},textField:{showPassword:"Passwort anzeigen",hidePassword:"Passwort verbergen"},empty:{title:"Nichts vorhanden"},picker:{previousMonth:"Voriger Monat",nextMonth:"Nächster Monat",previousYear:"Voriges Jahr",nextYear:"Nächstes Jahr",previousYears:"Vorige Jahre",nextYears:"Nächste Jahre",chooseMonth:"Monat auswählen",chooseYear:"Jahr auswählen",today:"Heute",thisMonth:"Dieser Monat",thisYear:"Dieses Jahr",now:"Jetzt",clear:"Löschen",done:"Fertig",hour:"Stunde",minute:"Minute",second:"Sekunde",meridiem:"AM/PM",start:"Beginn",end:"Ende"},numberField:{increase:"Erhöhen",decrease:"Verringern"},carousel:{label:"Karussell",previous:"Vorherige Folie",next:"Nächste Folie",slide:"Folie {index} von {total}"},scroll:{label:"Scrollbarer Inhalt",previous:"Zurückscrollen",next:"Vorwärtsscrollen"},anchor:{label:"Auf dieser Seite"},code:{copy:"Kopieren",copied:"Kopiert",copyFailed:"Kopieren fehlgeschlagen",raw:"Unformatiert",label:"Code"},breadcrumb:{label:"Brotkrümelnavigation",expand:"Ausgeblendete Schritte anzeigen"},combobox:{empty:"Keine Treffer",add:"„{label}“ hinzufügen"},tour:{previous:"Zurück",next:"Weiter",done:"Fertig",skip:"Überspringen",position:"Schritt {index} von {total}"},chart:{label:"Diagramm",table:"Diagrammdaten",category:"Kategorie",total:"Gesamt",showAll:"Alle anzeigen"},sparkline:{summary:"{count} Punkte, von {first} bis {last}"},table:{empty:"Keine Daten"},dataTable:{selectAll:"Alle Zeilen auswählen",selectRow:"Zeile auswählen",total:"Zeilen: {total}",selected:"Ausgewählt: {count}",download:"CSV herunterladen",perPage:"Zeilen pro Seite",resize:"Spaltenbreite ändern"},filePicker:{prompt:"Dateien hier ablegen oder zum Auswählen klicken"},textLink:{newTab:"Wird in einem neuen Tab geöffnet"},overlay:{label:"Overlay"},alert:{dismiss:"Schließen"},chat:{sending:"Wird gesendet",sent:"Gesendet",delivered:"Zugestellt",read:"Gelesen",failed:"Nicht gesendet",typing:"Schreibt"},spoiler:{reveal:"Anzeigen",hide:"Verbergen",notice:"Verborgen, damit es nicht versehentlich gelesen wird"},pagination:{label:"Seitennummerierung",page:"Seite {page}",status:"Seite {page} von {total}",previous:"Vorherige Seite",next:"Nächste Seite",first:"Erste Seite",last:"Letzte Seite"},rating:{label:"Bewertung",value:"{value} von {max}",empty:"Nicht bewertet"},colorPicker:{area:"Sättigung und Helligkeit",hue:"Farbton",alpha:"Deckkraft",value:"Farbwert",swatches:"Vorgegebene Farben",clear:"Löschen",empty:"Keine Farbe"},transfer:{source:"Verfügbar",target:"Ausgewählt",toTarget:"Zu Ausgewählt verschieben",toSource:"Zurück zu Verfügbar",search:"Suchen",empty:"Nichts vorhanden",moved:"Verschoben nach {list}: {count}"},command:{label:"Befehlspalette",search:"Befehl eingeben oder suchen…",empty:"Keine Befehle gefunden"},layout:{skipToContent:"Zum Inhalt springen",sidebar:"Seitenleiste",openSidebar:"Seitenleiste öffnen",closeSidebar:"Seitenleiste schließen",resizeSidebar:"Seitenleiste anpassen"},confirm:{confirm:"Bestätigen",cancel:"Abbrechen",ok:"OK"}}};
1
+ export const de={locale:"de",messages:{common:{close:"Schließen",clear:"Löschen",open:"Öffnen",remove:"Entfernen",removeNamed:"{label} entfernen",loading:"Wird geladen",required:"Pflichtfeld"},textField:{showPassword:"Passwort anzeigen",hidePassword:"Passwort verbergen"},empty:{title:"Nichts vorhanden"},picker:{previousMonth:"Voriger Monat",nextMonth:"Nächster Monat",previousYear:"Voriges Jahr",nextYear:"Nächstes Jahr",previousYears:"Vorige Jahre",nextYears:"Nächste Jahre",chooseMonth:"Monat auswählen",chooseYear:"Jahr auswählen",today:"Heute",thisMonth:"Dieser Monat",thisYear:"Dieses Jahr",now:"Jetzt",clear:"Löschen",done:"Fertig",hour:"Stunde",minute:"Minute",second:"Sekunde",meridiem:"AM/PM",start:"Beginn",end:"Ende"},numberField:{increase:"Erhöhen",decrease:"Verringern"},carousel:{label:"Karussell",previous:"Vorherige Folie",next:"Nächste Folie",slide:"Folie {index} von {total}"},scroll:{label:"Scrollbarer Inhalt",previous:"Zurückscrollen",next:"Vorwärtsscrollen"},anchor:{label:"Auf dieser Seite"},code:{copy:"Kopieren",copied:"Kopiert",copyFailed:"Kopieren fehlgeschlagen",raw:"Unformatiert",label:"Code"},breadcrumb:{label:"Brotkrümelnavigation",expand:"Ausgeblendete Schritte anzeigen"},combobox:{empty:"Keine Treffer",add:"„{label}“ hinzufügen"},tour:{previous:"Zurück",next:"Weiter",done:"Fertig",skip:"Überspringen",position:"Schritt {index} von {total}"},chart:{label:"Diagramm",table:"Diagrammdaten",category:"Kategorie",total:"Gesamt",showAll:"Alle anzeigen"},sparkline:{summary:"{count} Punkte, von {first} bis {last}"},table:{empty:"Keine Daten"},dataTable:{selectAll:"Alle Zeilen auswählen",selectRow:"Zeile auswählen",total:"Zeilen: {total}",selected:"Ausgewählt: {count}",download:"CSV herunterladen",perPage:"Zeilen pro Seite",resize:"Spaltenbreite ändern"},filePicker:{prompt:"Dateien hier ablegen oder zum Auswählen klicken"},textLink:{newTab:"Wird in einem neuen Tab geöffnet"},overlay:{label:"Overlay"},alert:{dismiss:"Schließen"},chat:{sending:"Wird gesendet",sent:"Gesendet",delivered:"Zugestellt",read:"Gelesen",failed:"Nicht gesendet",typing:"Schreibt"},spoiler:{reveal:"Anzeigen",hide:"Verbergen",notice:"Verborgen, damit es nicht versehentlich gelesen wird"},pagination:{label:"Seitennummerierung",page:"Seite {page}",status:"Seite {page} von {total}",previous:"Vorherige Seite",next:"Nächste Seite",first:"Erste Seite",last:"Letzte Seite"},rating:{label:"Bewertung",value:"{value} von {max}",empty:"Nicht bewertet"},colorPicker:{area:"Sättigung und Helligkeit",hue:"Farbton",alpha:"Deckkraft",value:"Farbwert",swatches:"Vorgegebene Farben",clear:"Löschen",empty:"Keine Farbe"},transfer:{source:"Verfügbar",target:"Ausgewählt",toTarget:"Zu Ausgewählt verschieben",toSource:"Zurück zu Verfügbar",search:"Suchen",empty:"Nichts vorhanden",moved:"Verschoben nach {list}: {count}"},command:{label:"Befehlspalette",search:"Befehl eingeben oder suchen…",empty:"Keine Befehle gefunden"},layout:{skipToContent:"Zum Inhalt springen",sidebar:"Seitenleiste",openSidebar:"Seitenleiste öffnen",closeSidebar:"Seitenleiste schließen",resizeSidebar:"Seitenleiste anpassen"},confirm:{confirm:"Bestätigen",cancel:"Abbrechen",ok:"OK"}}};
@@ -1 +1 @@
1
- export const es={locale:"es",messages:{common:{close:"Cerrar",clear:"Borrar",open:"Abrir",remove:"Quitar",removeNamed:"Quitar {label}",loading:"Cargando"},textField:{showPassword:"Mostrar la contraseña",hidePassword:"Ocultar la contraseña"},empty:{title:"No hay nada aquí"},picker:{previousMonth:"Mes anterior",nextMonth:"Mes siguiente",previousYear:"Año anterior",nextYear:"Año siguiente",previousYears:"Años anteriores",nextYears:"Años siguientes",chooseMonth:"Elegir un mes",chooseYear:"Elegir un año",today:"Hoy",thisMonth:"Este mes",thisYear:"Este año",now:"Ahora",clear:"Borrar",done:"Listo",hour:"Hora",minute:"Minuto",second:"Segundo",meridiem:"a. m./p. m.",start:"Inicio",end:"Fin"},numberField:{increase:"Aumentar",decrease:"Disminuir"},carousel:{label:"Carrusel",previous:"Diapositiva anterior",next:"Diapositiva siguiente",slide:"Diapositiva {index} de {total}"},scroll:{label:"Contenido desplazable",previous:"Desplazar hacia atrás",next:"Desplazar hacia delante"},anchor:{label:"En esta página"},code:{copy:"Copiar",copied:"Copiado",copyFailed:"No se pudo copiar",raw:"Sin formato",label:"Código"},breadcrumb:{label:"Ruta de navegación",expand:"Mostrar los pasos ocultos"},combobox:{empty:"Sin coincidencias",add:"Añadir «{label}»"},tour:{previous:"Atrás",next:"Siguiente",done:"Listo",skip:"Omitir",position:"Paso {index} de {total}"},chart:{label:"Gráfico",table:"Datos del gráfico",category:"Categoría",total:"Total",showAll:"Ver todo"},sparkline:{summary:"{count} puntos, de {first} a {last}"},table:{empty:"Sin datos"},dataTable:{selectAll:"Seleccionar todas las filas",selectRow:"Seleccionar fila",total:"Filas: {total}",selected:"Seleccionadas: {count}",download:"Descargar CSV",perPage:"Filas por página",resize:"Cambiar el ancho de la columna"},filePicker:{prompt:"Suelta los archivos aquí o haz clic para buscarlos"},textLink:{newTab:"Se abre en una pestaña nueva"},overlay:{label:"Superposición"},alert:{dismiss:"Cerrar"},chat:{sending:"Enviando",sent:"Enviado",delivered:"Entregado",read:"Leído",failed:"No enviado",typing:"Escribiendo"},spoiler:{reveal:"Mostrar",hide:"Ocultar",notice:"Oculto para que no se lea por accidente"},pagination:{label:"Paginación",page:"Página {page}",status:"Página {page} de {total}",previous:"Página anterior",next:"Página siguiente",first:"Primera página",last:"Última página"},rating:{label:"Valoración",value:"{value} de {max}",empty:"Sin valorar"},colorPicker:{area:"Saturación y brillo",hue:"Tono",alpha:"Opacidad",value:"Valor del color",swatches:"Colores predefinidos",clear:"Borrar",empty:"Sin color"},transfer:{source:"Disponibles",target:"Seleccionados",toTarget:"Mover a seleccionados",toSource:"Devolver a disponibles",search:"Buscar",empty:"No hay nada",moved:"Movidos a {list}: {count}"},command:{label:"Paleta de comandos",search:"Escribe un comando o busca…",empty:"No se encontraron comandos"},layout:{skipToContent:"Saltar al contenido",sidebar:"Barra lateral",openSidebar:"Abrir barra lateral",closeSidebar:"Cerrar barra lateral",resizeSidebar:"Cambiar el ancho de la barra lateral"},confirm:{confirm:"Confirmar",cancel:"Cancelar",ok:"Aceptar"}}};
1
+ export const es={locale:"es",messages:{common:{close:"Cerrar",clear:"Borrar",open:"Abrir",remove:"Quitar",removeNamed:"Quitar {label}",loading:"Cargando",required:"Obligatorio"},textField:{showPassword:"Mostrar la contraseña",hidePassword:"Ocultar la contraseña"},empty:{title:"No hay nada aquí"},picker:{previousMonth:"Mes anterior",nextMonth:"Mes siguiente",previousYear:"Año anterior",nextYear:"Año siguiente",previousYears:"Años anteriores",nextYears:"Años siguientes",chooseMonth:"Elegir un mes",chooseYear:"Elegir un año",today:"Hoy",thisMonth:"Este mes",thisYear:"Este año",now:"Ahora",clear:"Borrar",done:"Listo",hour:"Hora",minute:"Minuto",second:"Segundo",meridiem:"a. m./p. m.",start:"Inicio",end:"Fin"},numberField:{increase:"Aumentar",decrease:"Disminuir"},carousel:{label:"Carrusel",previous:"Diapositiva anterior",next:"Diapositiva siguiente",slide:"Diapositiva {index} de {total}"},scroll:{label:"Contenido desplazable",previous:"Desplazar hacia atrás",next:"Desplazar hacia delante"},anchor:{label:"En esta página"},code:{copy:"Copiar",copied:"Copiado",copyFailed:"No se pudo copiar",raw:"Sin formato",label:"Código"},breadcrumb:{label:"Ruta de navegación",expand:"Mostrar los pasos ocultos"},combobox:{empty:"Sin coincidencias",add:"Añadir «{label}»"},tour:{previous:"Atrás",next:"Siguiente",done:"Listo",skip:"Omitir",position:"Paso {index} de {total}"},chart:{label:"Gráfico",table:"Datos del gráfico",category:"Categoría",total:"Total",showAll:"Ver todo"},sparkline:{summary:"{count} puntos, de {first} a {last}"},table:{empty:"Sin datos"},dataTable:{selectAll:"Seleccionar todas las filas",selectRow:"Seleccionar fila",total:"Filas: {total}",selected:"Seleccionadas: {count}",download:"Descargar CSV",perPage:"Filas por página",resize:"Cambiar el ancho de la columna"},filePicker:{prompt:"Suelta los archivos aquí o haz clic para buscarlos"},textLink:{newTab:"Se abre en una pestaña nueva"},overlay:{label:"Superposición"},alert:{dismiss:"Cerrar"},chat:{sending:"Enviando",sent:"Enviado",delivered:"Entregado",read:"Leído",failed:"No enviado",typing:"Escribiendo"},spoiler:{reveal:"Mostrar",hide:"Ocultar",notice:"Oculto para que no se lea por accidente"},pagination:{label:"Paginación",page:"Página {page}",status:"Página {page} de {total}",previous:"Página anterior",next:"Página siguiente",first:"Primera página",last:"Última página"},rating:{label:"Valoración",value:"{value} de {max}",empty:"Sin valorar"},colorPicker:{area:"Saturación y brillo",hue:"Tono",alpha:"Opacidad",value:"Valor del color",swatches:"Colores predefinidos",clear:"Borrar",empty:"Sin color"},transfer:{source:"Disponibles",target:"Seleccionados",toTarget:"Mover a seleccionados",toSource:"Devolver a disponibles",search:"Buscar",empty:"No hay nada",moved:"Movidos a {list}: {count}"},command:{label:"Paleta de comandos",search:"Escribe un comando o busca…",empty:"No se encontraron comandos"},layout:{skipToContent:"Saltar al contenido",sidebar:"Barra lateral",openSidebar:"Abrir barra lateral",closeSidebar:"Cerrar barra lateral",resizeSidebar:"Cambiar el ancho de la barra lateral"},confirm:{confirm:"Confirmar",cancel:"Cancelar",ok:"Aceptar"}}};
@@ -1 +1 @@
1
- export const fr={locale:"fr",messages:{common:{close:"Fermer",clear:"Effacer",open:"Ouvrir",remove:"Supprimer",removeNamed:"Supprimer {label}",loading:"Chargement"},textField:{showPassword:"Afficher le mot de passe",hidePassword:"Masquer le mot de passe"},empty:{title:"Il n'y a rien ici"},picker:{previousMonth:"Mois précédent",nextMonth:"Mois suivant",previousYear:"Année précédente",nextYear:"Année suivante",previousYears:"Années précédentes",nextYears:"Années suivantes",chooseMonth:"Choisir un mois",chooseYear:"Choisir une année",today:"Aujourd'hui",thisMonth:"Ce mois-ci",thisYear:"Cette année",now:"Maintenant",clear:"Effacer",done:"Terminé",hour:"Heure",minute:"Minute",second:"Seconde",meridiem:"AM/PM",start:"Début",end:"Fin"},numberField:{increase:"Augmenter",decrease:"Diminuer"},carousel:{label:"Carrousel",previous:"Diapositive précédente",next:"Diapositive suivante",slide:"Diapositive {index} sur {total}"},scroll:{label:"Contenu défilant",previous:"Faire défiler vers l’arrière",next:"Faire défiler vers l’avant"},anchor:{label:"Sur cette page"},code:{copy:"Copier",copied:"Copié",copyFailed:"Échec de la copie",raw:"Texte brut",label:"Code"},breadcrumb:{label:"Fil d’Ariane",expand:"Afficher les étapes masquées"},combobox:{empty:"Aucun résultat",add:"Ajouter « {label} »"},tour:{previous:"Retour",next:"Suivant",done:"Terminé",skip:"Passer",position:"Étape {index} sur {total}"},chart:{label:"Graphique",table:"Données du graphique",category:"Catégorie",total:"Total",showAll:"Tout afficher"},sparkline:{summary:"{count} points, de {first} à {last}"},table:{empty:"Aucune donnée"},dataTable:{selectAll:"Sélectionner toutes les lignes",selectRow:"Sélectionner la ligne",total:"Lignes : {total}",selected:"Sélectionnées : {count}",download:"Télécharger le CSV",perPage:"Lignes par page",resize:"Redimensionner la colonne"},filePicker:{prompt:"Déposez les fichiers ici, ou cliquez pour parcourir"},textLink:{newTab:"S’ouvre dans un nouvel onglet"},overlay:{label:"Superposition"},alert:{dismiss:"Fermer"},chat:{sending:"Envoi en cours",sent:"Envoyé",delivered:"Distribué",read:"Lu",failed:"Non envoyé",typing:"En train d'écrire"},spoiler:{reveal:"Afficher",hide:"Masquer",notice:"Masqué pour ne pas être lu par accident"},pagination:{label:"Pagination",page:"Page {page}",status:"Page {page} sur {total}",previous:"Page précédente",next:"Page suivante",first:"Première page",last:"Dernière page"},rating:{label:"Note",value:"{value} sur {max}",empty:"Non noté"},colorPicker:{area:"Saturation et luminosité",hue:"Teinte",alpha:"Opacité",value:"Valeur de la couleur",swatches:"Couleurs prédéfinies",clear:"Effacer",empty:"Aucune couleur"},transfer:{source:"Disponibles",target:"Sélectionnés",toTarget:"Déplacer vers les sélectionnés",toSource:"Renvoyer vers les disponibles",search:"Rechercher",empty:"Rien ici",moved:"Déplacés vers {list} : {count}"},command:{label:"Palette de commandes",search:"Tapez une commande ou recherchez…",empty:"Aucune commande trouvée"},layout:{skipToContent:"Aller au contenu",sidebar:"Barre latérale",openSidebar:"Ouvrir la barre latérale",closeSidebar:"Fermer la barre latérale",resizeSidebar:"Redimensionner la barre latérale"},confirm:{confirm:"Confirmer",cancel:"Annuler",ok:"OK"}}};
1
+ export const fr={locale:"fr",messages:{common:{close:"Fermer",clear:"Effacer",open:"Ouvrir",remove:"Supprimer",removeNamed:"Supprimer {label}",loading:"Chargement",required:"Obligatoire"},textField:{showPassword:"Afficher le mot de passe",hidePassword:"Masquer le mot de passe"},empty:{title:"Il n'y a rien ici"},picker:{previousMonth:"Mois précédent",nextMonth:"Mois suivant",previousYear:"Année précédente",nextYear:"Année suivante",previousYears:"Années précédentes",nextYears:"Années suivantes",chooseMonth:"Choisir un mois",chooseYear:"Choisir une année",today:"Aujourd'hui",thisMonth:"Ce mois-ci",thisYear:"Cette année",now:"Maintenant",clear:"Effacer",done:"Terminé",hour:"Heure",minute:"Minute",second:"Seconde",meridiem:"AM/PM",start:"Début",end:"Fin"},numberField:{increase:"Augmenter",decrease:"Diminuer"},carousel:{label:"Carrousel",previous:"Diapositive précédente",next:"Diapositive suivante",slide:"Diapositive {index} sur {total}"},scroll:{label:"Contenu défilant",previous:"Faire défiler vers l’arrière",next:"Faire défiler vers l’avant"},anchor:{label:"Sur cette page"},code:{copy:"Copier",copied:"Copié",copyFailed:"Échec de la copie",raw:"Texte brut",label:"Code"},breadcrumb:{label:"Fil d’Ariane",expand:"Afficher les étapes masquées"},combobox:{empty:"Aucun résultat",add:"Ajouter « {label} »"},tour:{previous:"Retour",next:"Suivant",done:"Terminé",skip:"Passer",position:"Étape {index} sur {total}"},chart:{label:"Graphique",table:"Données du graphique",category:"Catégorie",total:"Total",showAll:"Tout afficher"},sparkline:{summary:"{count} points, de {first} à {last}"},table:{empty:"Aucune donnée"},dataTable:{selectAll:"Sélectionner toutes les lignes",selectRow:"Sélectionner la ligne",total:"Lignes : {total}",selected:"Sélectionnées : {count}",download:"Télécharger le CSV",perPage:"Lignes par page",resize:"Redimensionner la colonne"},filePicker:{prompt:"Déposez les fichiers ici, ou cliquez pour parcourir"},textLink:{newTab:"S’ouvre dans un nouvel onglet"},overlay:{label:"Superposition"},alert:{dismiss:"Fermer"},chat:{sending:"Envoi en cours",sent:"Envoyé",delivered:"Distribué",read:"Lu",failed:"Non envoyé",typing:"En train d'écrire"},spoiler:{reveal:"Afficher",hide:"Masquer",notice:"Masqué pour ne pas être lu par accident"},pagination:{label:"Pagination",page:"Page {page}",status:"Page {page} sur {total}",previous:"Page précédente",next:"Page suivante",first:"Première page",last:"Dernière page"},rating:{label:"Note",value:"{value} sur {max}",empty:"Non noté"},colorPicker:{area:"Saturation et luminosité",hue:"Teinte",alpha:"Opacité",value:"Valeur de la couleur",swatches:"Couleurs prédéfinies",clear:"Effacer",empty:"Aucune couleur"},transfer:{source:"Disponibles",target:"Sélectionnés",toTarget:"Déplacer vers les sélectionnés",toSource:"Renvoyer vers les disponibles",search:"Rechercher",empty:"Rien ici",moved:"Déplacés vers {list} : {count}"},command:{label:"Palette de commandes",search:"Tapez une commande ou recherchez…",empty:"Aucune commande trouvée"},layout:{skipToContent:"Aller au contenu",sidebar:"Barre latérale",openSidebar:"Ouvrir la barre latérale",closeSidebar:"Fermer la barre latérale",resizeSidebar:"Redimensionner la barre latérale"},confirm:{confirm:"Confirmer",cancel:"Annuler",ok:"OK"}}};
@@ -1 +1 @@
1
- export const hi={locale:"hi",messages:{common:{close:"बंद करें",clear:"हटाएँ",open:"खोलें",remove:"निकालें",removeNamed:"{label} निकालें",loading:"लोड हो रहा है"},textField:{showPassword:"पासवर्ड दिखाएँ",hidePassword:"पासवर्ड छिपाएँ"},empty:{title:"यहाँ कुछ नहीं है"},picker:{previousMonth:"पिछला महीना",nextMonth:"अगला महीना",previousYear:"पिछला वर्ष",nextYear:"अगला वर्ष",previousYears:"पिछले वर्ष",nextYears:"अगले वर्ष",chooseMonth:"महीना चुनें",chooseYear:"वर्ष चुनें",today:"आज",thisMonth:"यह महीना",thisYear:"यह वर्ष",now:"अभी",clear:"हटाएँ",done:"हो गया",hour:"घंटा",minute:"मिनट",second:"सेकंड",meridiem:"AM/PM",start:"प्रारंभ",end:"समाप्ति"},numberField:{increase:"बढ़ाएँ",decrease:"घटाएँ"},carousel:{label:"कैरोसेल",previous:"पिछली स्लाइड",next:"अगली स्लाइड",slide:"{total} में से स्लाइड {index}"},scroll:{label:"स्क्रॉल करने योग्य सामग्री",previous:"पीछे स्क्रॉल करें",next:"आगे स्क्रॉल करें"},anchor:{label:"इस पृष्ठ पर"},code:{copy:"कॉपी करें",copied:"कॉपी हो गया",copyFailed:"कॉपी नहीं हो सका",raw:"सादा",label:"कोड"},breadcrumb:{label:"ब्रेडक्रंब",expand:"छिपे हुए चरण दिखाएँ"},combobox:{empty:"कोई मेल नहीं",add:"“{label}” जोड़ें"},tour:{previous:"पीछे",next:"आगे",done:"हो गया",skip:"छोड़ें",position:"चरण {index} / {total}"},chart:{label:"चार्ट",table:"चार्ट डेटा",category:"श्रेणी",total:"कुल",showAll:"सभी दिखाएँ"},sparkline:{summary:"{count} बिंदु, {first} से {last} तक"},table:{empty:"कोई डेटा नहीं"},dataTable:{selectAll:"सभी पंक्तियाँ चुनें",selectRow:"पंक्ति चुनें",total:"पंक्तियाँ: {total}",selected:"चुनी गईं: {count}",download:"CSV डाउनलोड करें",perPage:"प्रति पृष्ठ पंक्तियाँ",resize:"कॉलम की चौड़ाई बदलें"},filePicker:{prompt:"फ़ाइलें यहाँ छोड़ें, या ब्राउज़ करने के लिए क्लिक करें"},textLink:{newTab:"नए टैब में खुलता है"},overlay:{label:"ओवरले"},alert:{dismiss:"बंद करें"},chat:{sending:"भेजा जा रहा है",sent:"भेजा गया",delivered:"पहुँच गया",read:"पढ़ लिया गया",failed:"नहीं भेजा गया",typing:"टाइप कर रहे हैं"},spoiler:{reveal:"दिखाएँ",hide:"छिपाएँ",notice:"गलती से न पढ़ लिया जाए इसलिए छिपाया गया है"},pagination:{label:"पृष्ठ क्रमांकन",page:"पृष्ठ {page}",status:"{total} में से पृष्ठ {page}",previous:"पिछला पृष्ठ",next:"अगला पृष्ठ",first:"पहला पृष्ठ",last:"अंतिम पृष्ठ"},rating:{label:"रेटिंग",value:"{max} में से {value}",empty:"रेटिंग नहीं दी गई"},colorPicker:{area:"संतृप्ति और चमक",hue:"रंग",alpha:"अपारदर्शिता",value:"रंग मान",swatches:"पूर्व निर्धारित रंग",clear:"साफ़ करें",empty:"कोई रंग नहीं"},transfer:{source:"उपलब्ध",target:"चयनित",toTarget:"चयनित में ले जाएँ",toSource:"उपलब्ध में वापस भेजें",search:"खोजें",empty:"यहाँ कुछ नहीं है",moved:"{list} में ले जाए गए: {count}"},command:{label:"कमांड पैलेट",search:"कमांड लिखें या खोजें…",empty:"कोई कमांड नहीं मिली"},layout:{skipToContent:"सामग्री पर जाएँ",sidebar:"साइडबार",openSidebar:"साइडबार खोलें",closeSidebar:"साइडबार बंद करें",resizeSidebar:"साइडबार का आकार बदलें"},confirm:{confirm:"पुष्टि करें",cancel:"रद्द करें",ok:"ठीक है"}}};
1
+ export const hi={locale:"hi",messages:{common:{close:"बंद करें",clear:"हटाएँ",open:"खोलें",remove:"निकालें",removeNamed:"{label} निकालें",loading:"लोड हो रहा है",required:"आवश्यक"},textField:{showPassword:"पासवर्ड दिखाएँ",hidePassword:"पासवर्ड छिपाएँ"},empty:{title:"यहाँ कुछ नहीं है"},picker:{previousMonth:"पिछला महीना",nextMonth:"अगला महीना",previousYear:"पिछला वर्ष",nextYear:"अगला वर्ष",previousYears:"पिछले वर्ष",nextYears:"अगले वर्ष",chooseMonth:"महीना चुनें",chooseYear:"वर्ष चुनें",today:"आज",thisMonth:"यह महीना",thisYear:"यह वर्ष",now:"अभी",clear:"हटाएँ",done:"हो गया",hour:"घंटा",minute:"मिनट",second:"सेकंड",meridiem:"AM/PM",start:"प्रारंभ",end:"समाप्ति"},numberField:{increase:"बढ़ाएँ",decrease:"घटाएँ"},carousel:{label:"कैरोसेल",previous:"पिछली स्लाइड",next:"अगली स्लाइड",slide:"{total} में से स्लाइड {index}"},scroll:{label:"स्क्रॉल करने योग्य सामग्री",previous:"पीछे स्क्रॉल करें",next:"आगे स्क्रॉल करें"},anchor:{label:"इस पृष्ठ पर"},code:{copy:"कॉपी करें",copied:"कॉपी हो गया",copyFailed:"कॉपी नहीं हो सका",raw:"सादा",label:"कोड"},breadcrumb:{label:"ब्रेडक्रंब",expand:"छिपे हुए चरण दिखाएँ"},combobox:{empty:"कोई मेल नहीं",add:"“{label}” जोड़ें"},tour:{previous:"पीछे",next:"आगे",done:"हो गया",skip:"छोड़ें",position:"चरण {index} / {total}"},chart:{label:"चार्ट",table:"चार्ट डेटा",category:"श्रेणी",total:"कुल",showAll:"सभी दिखाएँ"},sparkline:{summary:"{count} बिंदु, {first} से {last} तक"},table:{empty:"कोई डेटा नहीं"},dataTable:{selectAll:"सभी पंक्तियाँ चुनें",selectRow:"पंक्ति चुनें",total:"पंक्तियाँ: {total}",selected:"चुनी गईं: {count}",download:"CSV डाउनलोड करें",perPage:"प्रति पृष्ठ पंक्तियाँ",resize:"कॉलम की चौड़ाई बदलें"},filePicker:{prompt:"फ़ाइलें यहाँ छोड़ें, या ब्राउज़ करने के लिए क्लिक करें"},textLink:{newTab:"नए टैब में खुलता है"},overlay:{label:"ओवरले"},alert:{dismiss:"बंद करें"},chat:{sending:"भेजा जा रहा है",sent:"भेजा गया",delivered:"पहुँच गया",read:"पढ़ लिया गया",failed:"नहीं भेजा गया",typing:"टाइप कर रहे हैं"},spoiler:{reveal:"दिखाएँ",hide:"छिपाएँ",notice:"गलती से न पढ़ लिया जाए इसलिए छिपाया गया है"},pagination:{label:"पृष्ठ क्रमांकन",page:"पृष्ठ {page}",status:"{total} में से पृष्ठ {page}",previous:"पिछला पृष्ठ",next:"अगला पृष्ठ",first:"पहला पृष्ठ",last:"अंतिम पृष्ठ"},rating:{label:"रेटिंग",value:"{max} में से {value}",empty:"रेटिंग नहीं दी गई"},colorPicker:{area:"संतृप्ति और चमक",hue:"रंग",alpha:"अपारदर्शिता",value:"रंग मान",swatches:"पूर्व निर्धारित रंग",clear:"साफ़ करें",empty:"कोई रंग नहीं"},transfer:{source:"उपलब्ध",target:"चयनित",toTarget:"चयनित में ले जाएँ",toSource:"उपलब्ध में वापस भेजें",search:"खोजें",empty:"यहाँ कुछ नहीं है",moved:"{list} में ले जाए गए: {count}"},command:{label:"कमांड पैलेट",search:"कमांड लिखें या खोजें…",empty:"कोई कमांड नहीं मिली"},layout:{skipToContent:"सामग्री पर जाएँ",sidebar:"साइडबार",openSidebar:"साइडबार खोलें",closeSidebar:"साइडबार बंद करें",resizeSidebar:"साइडबार का आकार बदलें"},confirm:{confirm:"पुष्टि करें",cancel:"रद्द करें",ok:"ठीक है"}}};
@@ -1 +1 @@
1
- export const id={locale:"id",messages:{common:{close:"Tutup",clear:"Bersihkan",open:"Buka",remove:"Hapus",removeNamed:"Hapus {label}",loading:"Memuat"},textField:{showPassword:"Tampilkan kata sandi",hidePassword:"Sembunyikan kata sandi"},empty:{title:"Tidak ada apa-apa di sini"},picker:{previousMonth:"Bulan sebelumnya",nextMonth:"Bulan berikutnya",previousYear:"Tahun sebelumnya",nextYear:"Tahun berikutnya",previousYears:"Tahun-tahun sebelumnya",nextYears:"Tahun-tahun berikutnya",chooseMonth:"Pilih bulan",chooseYear:"Pilih tahun",today:"Hari ini",thisMonth:"Bulan ini",thisYear:"Tahun ini",now:"Sekarang",clear:"Hapus",done:"Selesai",hour:"Jam",minute:"Menit",second:"Detik",meridiem:"AM/PM",start:"Mulai",end:"Akhir"},numberField:{increase:"Tambah",decrease:"Kurangi"},carousel:{label:"Karosel",previous:"Slide sebelumnya",next:"Slide berikutnya",slide:"Slide {index} dari {total}"},scroll:{label:"Konten yang dapat digulir",previous:"Gulir mundur",next:"Gulir maju"},anchor:{label:"Di halaman ini"},code:{copy:"Salin",copied:"Tersalin",copyFailed:"Gagal menyalin",raw:"Teks polos",label:"Kode"},breadcrumb:{label:"Remah roti",expand:"Tampilkan langkah tersembunyi"},combobox:{empty:"Tidak ada yang cocok",add:"Tambahkan “{label}”"},tour:{previous:"Kembali",next:"Berikutnya",done:"Selesai",skip:"Lewati",position:"Langkah {index} dari {total}"},chart:{label:"Bagan",table:"Data bagan",category:"Kategori",total:"Total",showAll:"Tampilkan semua"},sparkline:{summary:"{count} titik, dari {first} ke {last}"},table:{empty:"Tidak ada data"},dataTable:{selectAll:"Pilih semua baris",selectRow:"Pilih baris",total:"{total} baris",selected:"{count} dipilih",download:"Unduh CSV",perPage:"Baris per halaman",resize:"Ubah lebar kolom"},filePicker:{prompt:"Letakkan berkas di sini, atau klik untuk menelusuri"},textLink:{newTab:"Membuka di tab baru"},overlay:{label:"Hamparan"},alert:{dismiss:"Tutup"},chat:{sending:"Mengirim",sent:"Terkirim",delivered:"Diterima",read:"Dibaca",failed:"Gagal terkirim",typing:"Sedang mengetik"},spoiler:{reveal:"Tampilkan",hide:"Sembunyikan",notice:"Disembunyikan agar tidak terbaca tanpa sengaja"},pagination:{label:"Penomoran halaman",page:"Halaman {page}",status:"Halaman {page} dari {total}",previous:"Halaman sebelumnya",next:"Halaman berikutnya",first:"Halaman pertama",last:"Halaman terakhir"},rating:{label:"Peringkat",value:"{value} dari {max}",empty:"Belum dinilai"},colorPicker:{area:"Saturasi dan kecerahan",hue:"Rona",alpha:"Opasitas",value:"Nilai warna",swatches:"Warna preset",clear:"Hapus",empty:"Tanpa warna"},transfer:{source:"Tersedia",target:"Terpilih",toTarget:"Pindahkan ke terpilih",toSource:"Kembalikan ke tersedia",search:"Cari",empty:"Tidak ada apa pun",moved:"Dipindahkan ke {list}: {count}"},command:{label:"Palet perintah",search:"Ketik perintah atau cari…",empty:"Perintah tidak ditemukan"},layout:{skipToContent:"Lewati ke konten",sidebar:"Bilah sisi",openSidebar:"Buka bilah sisi",closeSidebar:"Tutup bilah sisi",resizeSidebar:"Ubah lebar bilah sisi"},confirm:{confirm:"Konfirmasi",cancel:"Batal",ok:"OK"}}};
1
+ export const id={locale:"id",messages:{common:{close:"Tutup",clear:"Bersihkan",open:"Buka",remove:"Hapus",removeNamed:"Hapus {label}",loading:"Memuat",required:"Wajib diisi"},textField:{showPassword:"Tampilkan kata sandi",hidePassword:"Sembunyikan kata sandi"},empty:{title:"Tidak ada apa-apa di sini"},picker:{previousMonth:"Bulan sebelumnya",nextMonth:"Bulan berikutnya",previousYear:"Tahun sebelumnya",nextYear:"Tahun berikutnya",previousYears:"Tahun-tahun sebelumnya",nextYears:"Tahun-tahun berikutnya",chooseMonth:"Pilih bulan",chooseYear:"Pilih tahun",today:"Hari ini",thisMonth:"Bulan ini",thisYear:"Tahun ini",now:"Sekarang",clear:"Hapus",done:"Selesai",hour:"Jam",minute:"Menit",second:"Detik",meridiem:"AM/PM",start:"Mulai",end:"Akhir"},numberField:{increase:"Tambah",decrease:"Kurangi"},carousel:{label:"Karosel",previous:"Slide sebelumnya",next:"Slide berikutnya",slide:"Slide {index} dari {total}"},scroll:{label:"Konten yang dapat digulir",previous:"Gulir mundur",next:"Gulir maju"},anchor:{label:"Di halaman ini"},code:{copy:"Salin",copied:"Tersalin",copyFailed:"Gagal menyalin",raw:"Teks polos",label:"Kode"},breadcrumb:{label:"Remah roti",expand:"Tampilkan langkah tersembunyi"},combobox:{empty:"Tidak ada yang cocok",add:"Tambahkan “{label}”"},tour:{previous:"Kembali",next:"Berikutnya",done:"Selesai",skip:"Lewati",position:"Langkah {index} dari {total}"},chart:{label:"Bagan",table:"Data bagan",category:"Kategori",total:"Total",showAll:"Tampilkan semua"},sparkline:{summary:"{count} titik, dari {first} ke {last}"},table:{empty:"Tidak ada data"},dataTable:{selectAll:"Pilih semua baris",selectRow:"Pilih baris",total:"{total} baris",selected:"{count} dipilih",download:"Unduh CSV",perPage:"Baris per halaman",resize:"Ubah lebar kolom"},filePicker:{prompt:"Letakkan berkas di sini, atau klik untuk menelusuri"},textLink:{newTab:"Membuka di tab baru"},overlay:{label:"Hamparan"},alert:{dismiss:"Tutup"},chat:{sending:"Mengirim",sent:"Terkirim",delivered:"Diterima",read:"Dibaca",failed:"Gagal terkirim",typing:"Sedang mengetik"},spoiler:{reveal:"Tampilkan",hide:"Sembunyikan",notice:"Disembunyikan agar tidak terbaca tanpa sengaja"},pagination:{label:"Penomoran halaman",page:"Halaman {page}",status:"Halaman {page} dari {total}",previous:"Halaman sebelumnya",next:"Halaman berikutnya",first:"Halaman pertama",last:"Halaman terakhir"},rating:{label:"Peringkat",value:"{value} dari {max}",empty:"Belum dinilai"},colorPicker:{area:"Saturasi dan kecerahan",hue:"Rona",alpha:"Opasitas",value:"Nilai warna",swatches:"Warna preset",clear:"Hapus",empty:"Tanpa warna"},transfer:{source:"Tersedia",target:"Terpilih",toTarget:"Pindahkan ke terpilih",toSource:"Kembalikan ke tersedia",search:"Cari",empty:"Tidak ada apa pun",moved:"Dipindahkan ke {list}: {count}"},command:{label:"Palet perintah",search:"Ketik perintah atau cari…",empty:"Perintah tidak ditemukan"},layout:{skipToContent:"Lewati ke konten",sidebar:"Bilah sisi",openSidebar:"Buka bilah sisi",closeSidebar:"Tutup bilah sisi",resizeSidebar:"Ubah lebar bilah sisi"},confirm:{confirm:"Konfirmasi",cancel:"Batal",ok:"OK"}}};
@@ -1 +1 @@
1
- export const it={locale:"it",messages:{common:{close:"Chiudi",clear:"Cancella",open:"Apri",remove:"Rimuovi",removeNamed:"Rimuovi {label}",loading:"Caricamento"},textField:{showPassword:"Mostra la password",hidePassword:"Nascondi la password"},empty:{title:"Non c'è nulla qui"},picker:{previousMonth:"Mese precedente",nextMonth:"Mese successivo",previousYear:"Anno precedente",nextYear:"Anno successivo",previousYears:"Anni precedenti",nextYears:"Anni successivi",chooseMonth:"Scegli un mese",chooseYear:"Scegli un anno",today:"Oggi",thisMonth:"Questo mese",thisYear:"Quest'anno",now:"Adesso",clear:"Cancella",done:"Fatto",hour:"Ora",minute:"Minuto",second:"Secondo",meridiem:"AM/PM",start:"Inizio",end:"Fine"},numberField:{increase:"Aumenta",decrease:"Diminuisci"},carousel:{label:"Carosello",previous:"Diapositiva precedente",next:"Diapositiva successiva",slide:"Diapositiva {index} di {total}"},scroll:{label:"Contenuto scorrevole",previous:"Scorri indietro",next:"Scorri avanti"},anchor:{label:"In questa pagina"},code:{copy:"Copia",copied:"Copiato",copyFailed:"Copia non riuscita",raw:"Testo semplice",label:"Codice"},breadcrumb:{label:"Percorso di navigazione",expand:"Mostra i passaggi nascosti"},combobox:{empty:"Nessuna corrispondenza",add:"Aggiungi «{label}»"},tour:{previous:"Indietro",next:"Avanti",done:"Fatto",skip:"Salta",position:"Passo {index} di {total}"},chart:{label:"Grafico",table:"Dati del grafico",category:"Categoria",total:"Totale",showAll:"Mostra tutto"},sparkline:{summary:"{count} punti, da {first} a {last}"},table:{empty:"Nessun dato"},dataTable:{selectAll:"Seleziona tutte le righe",selectRow:"Seleziona la riga",total:"Righe: {total}",selected:"Selezionate: {count}",download:"Scarica il CSV",perPage:"Righe per pagina",resize:"Ridimensiona la colonna"},filePicker:{prompt:"Trascina qui i file, oppure fai clic per sfogliare"},textLink:{newTab:"Si apre in una nuova scheda"},overlay:{label:"Sovrapposizione"},alert:{dismiss:"Chiudi"},chat:{sending:"Invio in corso",sent:"Inviato",delivered:"Consegnato",read:"Letto",failed:"Non inviato",typing:"Sta scrivendo"},spoiler:{reveal:"Mostra",hide:"Nascondi",notice:"Nascosto per non essere letto per sbaglio"},pagination:{label:"Impaginazione",page:"Pagina {page}",status:"Pagina {page} di {total}",previous:"Pagina precedente",next:"Pagina successiva",first:"Prima pagina",last:"Ultima pagina"},rating:{label:"Valutazione",value:"{value} su {max}",empty:"Non valutato"},colorPicker:{area:"Saturazione e luminosità",hue:"Tonalità",alpha:"Opacità",value:"Valore del colore",swatches:"Colori predefiniti",clear:"Cancella",empty:"Nessun colore"},transfer:{source:"Disponibili",target:"Selezionati",toTarget:"Sposta tra i selezionati",toSource:"Riporta tra i disponibili",search:"Cerca",empty:"Nessun elemento",moved:"Spostati in {list}: {count}"},command:{label:"Tavolozza comandi",search:"Digita un comando o cerca…",empty:"Nessun comando trovato"},layout:{skipToContent:"Vai al contenuto",sidebar:"Barra laterale",openSidebar:"Apri la barra laterale",closeSidebar:"Chiudi la barra laterale",resizeSidebar:"Ridimensiona la barra laterale"},confirm:{confirm:"Conferma",cancel:"Annulla",ok:"OK"}}};
1
+ export const it={locale:"it",messages:{common:{close:"Chiudi",clear:"Cancella",open:"Apri",remove:"Rimuovi",removeNamed:"Rimuovi {label}",loading:"Caricamento",required:"Obbligatorio"},textField:{showPassword:"Mostra la password",hidePassword:"Nascondi la password"},empty:{title:"Non c'è nulla qui"},picker:{previousMonth:"Mese precedente",nextMonth:"Mese successivo",previousYear:"Anno precedente",nextYear:"Anno successivo",previousYears:"Anni precedenti",nextYears:"Anni successivi",chooseMonth:"Scegli un mese",chooseYear:"Scegli un anno",today:"Oggi",thisMonth:"Questo mese",thisYear:"Quest'anno",now:"Adesso",clear:"Cancella",done:"Fatto",hour:"Ora",minute:"Minuto",second:"Secondo",meridiem:"AM/PM",start:"Inizio",end:"Fine"},numberField:{increase:"Aumenta",decrease:"Diminuisci"},carousel:{label:"Carosello",previous:"Diapositiva precedente",next:"Diapositiva successiva",slide:"Diapositiva {index} di {total}"},scroll:{label:"Contenuto scorrevole",previous:"Scorri indietro",next:"Scorri avanti"},anchor:{label:"In questa pagina"},code:{copy:"Copia",copied:"Copiato",copyFailed:"Copia non riuscita",raw:"Testo semplice",label:"Codice"},breadcrumb:{label:"Percorso di navigazione",expand:"Mostra i passaggi nascosti"},combobox:{empty:"Nessuna corrispondenza",add:"Aggiungi «{label}»"},tour:{previous:"Indietro",next:"Avanti",done:"Fatto",skip:"Salta",position:"Passo {index} di {total}"},chart:{label:"Grafico",table:"Dati del grafico",category:"Categoria",total:"Totale",showAll:"Mostra tutto"},sparkline:{summary:"{count} punti, da {first} a {last}"},table:{empty:"Nessun dato"},dataTable:{selectAll:"Seleziona tutte le righe",selectRow:"Seleziona la riga",total:"Righe: {total}",selected:"Selezionate: {count}",download:"Scarica il CSV",perPage:"Righe per pagina",resize:"Ridimensiona la colonna"},filePicker:{prompt:"Trascina qui i file, oppure fai clic per sfogliare"},textLink:{newTab:"Si apre in una nuova scheda"},overlay:{label:"Sovrapposizione"},alert:{dismiss:"Chiudi"},chat:{sending:"Invio in corso",sent:"Inviato",delivered:"Consegnato",read:"Letto",failed:"Non inviato",typing:"Sta scrivendo"},spoiler:{reveal:"Mostra",hide:"Nascondi",notice:"Nascosto per non essere letto per sbaglio"},pagination:{label:"Impaginazione",page:"Pagina {page}",status:"Pagina {page} di {total}",previous:"Pagina precedente",next:"Pagina successiva",first:"Prima pagina",last:"Ultima pagina"},rating:{label:"Valutazione",value:"{value} su {max}",empty:"Non valutato"},colorPicker:{area:"Saturazione e luminosità",hue:"Tonalità",alpha:"Opacità",value:"Valore del colore",swatches:"Colori predefiniti",clear:"Cancella",empty:"Nessun colore"},transfer:{source:"Disponibili",target:"Selezionati",toTarget:"Sposta tra i selezionati",toSource:"Riporta tra i disponibili",search:"Cerca",empty:"Nessun elemento",moved:"Spostati in {list}: {count}"},command:{label:"Tavolozza comandi",search:"Digita un comando o cerca…",empty:"Nessun comando trovato"},layout:{skipToContent:"Vai al contenuto",sidebar:"Barra laterale",openSidebar:"Apri la barra laterale",closeSidebar:"Chiudi la barra laterale",resizeSidebar:"Ridimensiona la barra laterale"},confirm:{confirm:"Conferma",cancel:"Annulla",ok:"OK"}}};