@nxgt/material 1.0.4 → 1.1.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 (115) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +447 -51
  3. package/dist/components.js +3 -2
  4. package/dist/{dist-BVcMAlfA.js → dist-CwhEp6Y-.js} +4 -4
  5. package/dist/dnd.js +2 -2
  6. package/dist/{hooks-BPv0i6YN.js → hooks-CHmfdtMs.js} +81 -47
  7. package/dist/hooks.js +3 -3
  8. package/dist/{i18n-1Eg35q8-.js → i18n-D4R3sSqT.js} +102 -0
  9. package/dist/i18n.js +1 -1
  10. package/dist/lib/components/index.d.ts +15 -0
  11. package/dist/lib/components/ui/anchor-heading.d.ts +9 -0
  12. package/dist/lib/components/ui/anchor-heading.stories.d.ts +13 -0
  13. package/dist/lib/components/ui/anchor-heading.utils.d.ts +2 -0
  14. package/dist/lib/components/ui/api-endpoint.d.ts +9 -0
  15. package/dist/lib/components/ui/api-endpoint.stories.d.ts +14 -0
  16. package/dist/lib/components/ui/api-operation.d.ts +13 -0
  17. package/dist/lib/components/ui/api-operation.stories.d.ts +13 -0
  18. package/dist/lib/components/ui/cards/cards.stories.d.ts +20 -0
  19. package/dist/lib/components/ui/cards/cards.stories.data.d.ts +8 -0
  20. package/dist/lib/components/ui/cards/index.d.ts +9 -0
  21. package/dist/lib/components/ui/cards/partials/crew-card.d.ts +2 -0
  22. package/dist/lib/components/ui/cards/partials/feature-card.d.ts +2 -0
  23. package/dist/lib/components/ui/cards/partials/media-card.d.ts +2 -0
  24. package/dist/lib/components/ui/cards/partials/overlay-card.d.ts +2 -0
  25. package/dist/lib/components/ui/cards/partials/pricing-card.d.ts +2 -0
  26. package/dist/lib/components/ui/cards/partials/profile-card.d.ts +2 -0
  27. package/dist/lib/components/ui/cards/partials/quote-card.d.ts +2 -0
  28. package/dist/lib/components/ui/cards/partials/spotlight-card.d.ts +2 -0
  29. package/dist/lib/components/ui/cards/types.d.ts +56 -0
  30. package/dist/lib/components/ui/code/code-group.d.ts +13 -0
  31. package/dist/lib/components/ui/code/code-group.stories.d.ts +14 -0
  32. package/dist/lib/components/ui/code/index.d.ts +2 -0
  33. package/dist/lib/components/ui/copy-button/copy-button.d.ts +5 -3
  34. package/dist/lib/components/ui/doc/doc-api.stories.d.ts +13 -0
  35. package/dist/lib/components/ui/doc/doc-blocks.stories.d.ts +13 -0
  36. package/dist/lib/components/ui/doc/doc-context.d.ts +61 -0
  37. package/dist/lib/components/ui/doc/doc.d.ts +11 -0
  38. package/dist/lib/components/ui/doc/doc.keyboard.d.ts +20 -0
  39. package/dist/lib/components/ui/doc/doc.keyboard.test.d.ts +1 -0
  40. package/dist/lib/components/ui/doc/doc.slice.d.ts +97 -0
  41. package/dist/lib/components/ui/doc/doc.stories.d.ts +15 -0
  42. package/dist/lib/components/ui/doc/doc.stories.data.d.ts +7 -0
  43. package/dist/lib/components/ui/doc/doc.utils.d.ts +29 -0
  44. package/dist/lib/components/ui/doc/doc.utils.test.d.ts +1 -0
  45. package/dist/lib/components/ui/doc/index.d.ts +36 -0
  46. package/dist/lib/components/ui/doc/partials/doc-article.d.ts +6 -0
  47. package/dist/lib/components/ui/doc/partials/doc-child-cards.d.ts +4 -0
  48. package/dist/lib/components/ui/doc/partials/doc-copy-actions.d.ts +7 -0
  49. package/dist/lib/components/ui/doc/partials/doc-empty.d.ts +3 -0
  50. package/dist/lib/components/ui/doc/partials/doc-header.d.ts +18 -0
  51. package/dist/lib/components/ui/doc/partials/doc-link.d.ts +3 -0
  52. package/dist/lib/components/ui/doc/partials/doc-nav.d.ts +4 -0
  53. package/dist/lib/components/ui/doc/partials/doc-page.d.ts +6 -0
  54. package/dist/lib/components/ui/doc/partials/doc-pager.d.ts +4 -0
  55. package/dist/lib/components/ui/doc/partials/doc-progress.d.ts +3 -0
  56. package/dist/lib/components/ui/doc/partials/doc-search.d.ts +1 -0
  57. package/dist/lib/components/ui/doc/partials/doc-see-also.d.ts +4 -0
  58. package/dist/lib/components/ui/doc/partials/doc-sidebar.d.ts +4 -0
  59. package/dist/lib/components/ui/doc/partials/doc-skip-link.d.ts +2 -0
  60. package/dist/lib/components/ui/doc/partials/doc-toc.d.ts +6 -0
  61. package/dist/lib/components/ui/doc/partials/doc-topbar.d.ts +4 -0
  62. package/dist/lib/components/ui/doc/types.d.ts +46 -0
  63. package/dist/lib/components/ui/doc/use-doc.d.ts +43 -0
  64. package/dist/lib/components/ui/feedback/empty-state.stories.d.ts +1 -0
  65. package/dist/lib/components/ui/feedback/index.d.ts +1 -0
  66. package/dist/lib/components/ui/feedback/scroll-progress.d.ts +6 -0
  67. package/dist/lib/components/ui/feedback/scroll-progress.stories.d.ts +13 -0
  68. package/dist/lib/components/ui/figure.d.ts +7 -0
  69. package/dist/lib/components/ui/figure.stories.d.ts +13 -0
  70. package/dist/lib/components/ui/forms/index.d.ts +1 -0
  71. package/dist/lib/components/ui/hero.d.ts +10 -0
  72. package/dist/lib/components/ui/hero.stories.d.ts +13 -0
  73. package/dist/lib/components/ui/highlight-text.d.ts +6 -0
  74. package/dist/lib/components/ui/highlight-text.stories.d.ts +12 -0
  75. package/dist/lib/components/ui/list-tile.d.ts +2 -1
  76. package/dist/lib/components/ui/list-tile.stories.d.ts +1 -0
  77. package/dist/lib/components/ui/metrics/index.d.ts +6 -0
  78. package/dist/lib/components/ui/metrics/metrics.stories.d.ts +16 -0
  79. package/dist/lib/components/ui/metrics/metrics.stories.data.d.ts +5 -0
  80. package/dist/lib/components/ui/metrics/partials/breakdown-card.d.ts +2 -0
  81. package/dist/lib/components/ui/metrics/partials/goal-card.d.ts +2 -0
  82. package/dist/lib/components/ui/metrics/partials/rank-card.d.ts +2 -0
  83. package/dist/lib/components/ui/metrics/partials/sparkline.d.ts +5 -0
  84. package/dist/lib/components/ui/metrics/partials/trend-card.d.ts +2 -0
  85. package/dist/lib/components/ui/metrics/types.d.ts +35 -0
  86. package/dist/lib/components/ui/pager.d.ts +20 -0
  87. package/dist/lib/components/ui/pager.stories.d.ts +13 -0
  88. package/dist/lib/components/ui/param-table.d.ts +13 -0
  89. package/dist/lib/components/ui/param-table.stories.d.ts +13 -0
  90. package/dist/lib/components/ui/see-also.d.ts +17 -0
  91. package/dist/lib/components/ui/see-also.stories.d.ts +12 -0
  92. package/dist/lib/components/ui/skip-link.d.ts +3 -0
  93. package/dist/lib/components/ui/skip-link.stories.d.ts +12 -0
  94. package/dist/lib/components/ui/steps.d.ts +13 -0
  95. package/dist/lib/components/ui/steps.stories.d.ts +13 -0
  96. package/dist/lib/components/ui/tabs.d.ts +4 -1
  97. package/dist/lib/components/ui/tabs.stories.d.ts +1 -0
  98. package/dist/lib/components/ui/toc.d.ts +21 -0
  99. package/dist/lib/components/ui/toc.stories.d.ts +13 -0
  100. package/dist/lib/hooks/index.d.ts +1 -0
  101. package/dist/lib/hooks/use-heading-spy.d.ts +6 -0
  102. package/dist/lib/i18n/resources/en/index.d.ts +57 -0
  103. package/dist/lib/i18n/resources/en/material.json.d.ts +57 -0
  104. package/dist/lib/i18n/resources/fr/index.d.ts +57 -0
  105. package/dist/lib/i18n/resources/fr/material.json.d.ts +57 -0
  106. package/dist/lib/i18n/resources/index.d.ts +114 -0
  107. package/dist/lib/i18n/translator.d.ts +1 -1
  108. package/dist/lib/lib/string.utils.d.ts +9 -0
  109. package/dist/lib/lib/url.utils.d.ts +2 -0
  110. package/dist/{lib-CaKARQ-7.js → lib-Rq5clPUe.js} +620 -584
  111. package/dist/lib.js +3 -3
  112. package/dist/{main-B-cRR76_.js → main-D7WtUVbv.js} +35341 -33380
  113. package/dist/main.js +6 -6
  114. package/dist/material.css +1 -1
  115. package/package.json +2 -1
@@ -0,0 +1,21 @@
1
+ import { ComponentProps, ComponentType, ReactNode } from 'react';
2
+ export type TocItem = {
3
+ id: string;
4
+ title: ReactNode;
5
+ level?: 2 | 3 | 4;
6
+ };
7
+ export type TocLinkComponent = ComponentType<{
8
+ href: string;
9
+ className?: string;
10
+ onClick?: () => void;
11
+ children?: ReactNode;
12
+ }>;
13
+ export type TocProps = Omit<ComponentProps<'nav'>, 'children' | 'onSelect'> & {
14
+ items: TocItem[];
15
+ activeId?: string;
16
+ onSelect?: (id: string) => void;
17
+ placement?: 'rail' | 'panel';
18
+ label?: string;
19
+ linkComponent?: TocLinkComponent;
20
+ };
21
+ export declare function Toc({ items, activeId, onSelect, placement, label, linkComponent: Link, className, ...props }: TocProps): import("react").JSX.Element | null;
@@ -0,0 +1,13 @@
1
+ import { StoryObj } from '@storybook/react';
2
+ import { Toc } from './toc';
3
+ declare const meta: {
4
+ title: string;
5
+ component: typeof Toc;
6
+ parameters: {
7
+ layout: string;
8
+ };
9
+ };
10
+ export default meta;
11
+ type Story = StoryObj<typeof meta>;
12
+ export declare const Rail: Story;
13
+ export declare const Panel: Story;
@@ -1,5 +1,6 @@
1
1
  export * from './resolve-theme';
2
2
  export * from './use-allowed-transitions';
3
+ export * from './use-heading-spy';
3
4
  export * from './use-is-client';
4
5
  export * from './use-localized-date';
5
6
  export * from './use-mobile';
@@ -0,0 +1,6 @@
1
+ export type UseHeadingSpyOptions = {
2
+ rootMargin?: string;
3
+ threshold?: number | number[];
4
+ };
5
+ /** Watches heading elements by id and reports the topmost intersecting one. */
6
+ export declare function useHeadingSpy(ids: readonly string[], onActive: (id: string) => void, options?: UseHeadingSpyOptions): void;
@@ -31,6 +31,22 @@ export declare const en: {
31
31
  title: string;
32
32
  description: string;
33
33
  };
34
+ "scroll-progress": string;
35
+ "skip-link": string;
36
+ "see-also": string;
37
+ cards: {
38
+ "per-month": string;
39
+ };
40
+ metrics: {
41
+ "of-target": string;
42
+ };
43
+ pager: {
44
+ previous: string;
45
+ next: string;
46
+ };
47
+ toc: {
48
+ "on-this-page": string;
49
+ };
34
50
  upload: {
35
51
  dropzone: {
36
52
  idle: string;
@@ -757,5 +773,46 @@ export declare const en: {
757
773
  subtitle: string;
758
774
  "wip-full": string;
759
775
  };
776
+ doc: {
777
+ search: string;
778
+ "search-placeholder": string;
779
+ filter: string;
780
+ "filter-empty": string;
781
+ "no-results": string;
782
+ "search-navigate": string;
783
+ "search-select": string;
784
+ "search-close": string;
785
+ "skip-to-content": string;
786
+ "reading-progress": string;
787
+ "on-this-page": string;
788
+ menu: string;
789
+ "menu-description": string;
790
+ previous: string;
791
+ next: string;
792
+ "see-also": string;
793
+ "copy-link": string;
794
+ "copied-link": string;
795
+ "copy-page": string;
796
+ "copy-markdown": string;
797
+ edit: string;
798
+ "last-updated": string;
799
+ collapse: string;
800
+ expand: string;
801
+ callout: {
802
+ note: string;
803
+ tip: string;
804
+ info: string;
805
+ warning: string;
806
+ danger: string;
807
+ success: string;
808
+ };
809
+ };
810
+ "param-table": {
811
+ name: string;
812
+ type: string;
813
+ default: string;
814
+ description: string;
815
+ required: string;
816
+ };
760
817
  };
761
818
  };
@@ -21,6 +21,22 @@ declare const _default: {
21
21
  "title": "Command Palette",
22
22
  "description": "Search for a command to run..."
23
23
  },
24
+ "scroll-progress": "Scroll progress",
25
+ "skip-link": "Skip to content",
26
+ "see-also": "See also",
27
+ "cards": {
28
+ "per-month": "/ month"
29
+ },
30
+ "metrics": {
31
+ "of-target": "of {target}"
32
+ },
33
+ "pager": {
34
+ "previous": "Previous",
35
+ "next": "Next"
36
+ },
37
+ "toc": {
38
+ "on-this-page": "On this page"
39
+ },
24
40
  "upload": {
25
41
  "dropzone": {
26
42
  "idle": "Drag & drop files here, or click to browse",
@@ -746,6 +762,47 @@ declare const _default: {
746
762
  "card-title": "Card title",
747
763
  "subtitle": "Add subtitle",
748
764
  "wip-full": "Column is at WIP limit"
765
+ },
766
+ "doc": {
767
+ "search": "Search docs",
768
+ "search-placeholder": "Search the documentation…",
769
+ "filter": "Filter pages",
770
+ "filter-empty": "Try a different filter.",
771
+ "no-results": "No results",
772
+ "search-navigate": "to navigate",
773
+ "search-select": "to select",
774
+ "search-close": "to close",
775
+ "skip-to-content": "Skip to content",
776
+ "reading-progress": "Reading progress",
777
+ "on-this-page": "On this page",
778
+ "menu": "Menu",
779
+ "menu-description": "Documentation navigation",
780
+ "previous": "Previous",
781
+ "next": "Next",
782
+ "see-also": "See also",
783
+ "copy-link": "Copy link",
784
+ "copied-link": "Copied",
785
+ "copy-page": "Copy page",
786
+ "copy-markdown": "Copy markdown",
787
+ "edit": "Edit this page",
788
+ "last-updated": "Updated",
789
+ "collapse": "Collapse",
790
+ "expand": "Expand",
791
+ "callout": {
792
+ "note": "Note",
793
+ "tip": "Tip",
794
+ "info": "Info",
795
+ "warning": "Warning",
796
+ "danger": "Danger",
797
+ "success": "Success"
798
+ }
799
+ },
800
+ "param-table": {
801
+ "name": "Name",
802
+ "type": "Type",
803
+ "default": "Default",
804
+ "description": "Description",
805
+ "required": "required"
749
806
  }
750
807
  }
751
808
  ;
@@ -31,6 +31,22 @@ export declare const fr: {
31
31
  title: string;
32
32
  description: string;
33
33
  };
34
+ "scroll-progress": string;
35
+ "skip-link": string;
36
+ "see-also": string;
37
+ cards: {
38
+ "per-month": string;
39
+ };
40
+ metrics: {
41
+ "of-target": string;
42
+ };
43
+ pager: {
44
+ previous: string;
45
+ next: string;
46
+ };
47
+ toc: {
48
+ "on-this-page": string;
49
+ };
34
50
  upload: {
35
51
  dropzone: {
36
52
  idle: string;
@@ -757,5 +773,46 @@ export declare const fr: {
757
773
  subtitle: string;
758
774
  "wip-full": string;
759
775
  };
776
+ doc: {
777
+ search: string;
778
+ "search-placeholder": string;
779
+ filter: string;
780
+ "filter-empty": string;
781
+ "no-results": string;
782
+ "search-navigate": string;
783
+ "search-select": string;
784
+ "search-close": string;
785
+ "skip-to-content": string;
786
+ "reading-progress": string;
787
+ "on-this-page": string;
788
+ menu: string;
789
+ "menu-description": string;
790
+ previous: string;
791
+ next: string;
792
+ "see-also": string;
793
+ "copy-link": string;
794
+ "copied-link": string;
795
+ "copy-page": string;
796
+ "copy-markdown": string;
797
+ edit: string;
798
+ "last-updated": string;
799
+ collapse: string;
800
+ expand: string;
801
+ callout: {
802
+ note: string;
803
+ tip: string;
804
+ info: string;
805
+ warning: string;
806
+ danger: string;
807
+ success: string;
808
+ };
809
+ };
810
+ "param-table": {
811
+ name: string;
812
+ type: string;
813
+ default: string;
814
+ description: string;
815
+ required: string;
816
+ };
760
817
  };
761
818
  };
@@ -21,6 +21,22 @@ declare const _default: {
21
21
  "title": "Palette de commandes",
22
22
  "description": "Recherchez une commande à exécuter..."
23
23
  },
24
+ "scroll-progress": "Progression du défilement",
25
+ "skip-link": "Aller au contenu",
26
+ "see-also": "Voir aussi",
27
+ "cards": {
28
+ "per-month": "/ mois"
29
+ },
30
+ "metrics": {
31
+ "of-target": "sur {target}"
32
+ },
33
+ "pager": {
34
+ "previous": "Précédent",
35
+ "next": "Suivant"
36
+ },
37
+ "toc": {
38
+ "on-this-page": "Sur cette page"
39
+ },
24
40
  "upload": {
25
41
  "dropzone": {
26
42
  "idle": "Glissez-déposez des fichiers ici, ou cliquez pour parcourir",
@@ -746,6 +762,47 @@ declare const _default: {
746
762
  "card-title": "Titre de la carte",
747
763
  "subtitle": "Ajouter un sous-titre",
748
764
  "wip-full": "Colonne au maximum WIP"
765
+ },
766
+ "doc": {
767
+ "search": "Rechercher",
768
+ "search-placeholder": "Rechercher dans la documentation…",
769
+ "filter": "Filtrer les pages",
770
+ "filter-empty": "Essayez un autre filtre.",
771
+ "no-results": "Aucun résultat",
772
+ "search-navigate": "pour naviguer",
773
+ "search-select": "pour ouvrir",
774
+ "search-close": "pour fermer",
775
+ "skip-to-content": "Aller au contenu",
776
+ "reading-progress": "Progression de lecture",
777
+ "on-this-page": "Sur cette page",
778
+ "menu": "Menu",
779
+ "menu-description": "Navigation de la documentation",
780
+ "previous": "Précédent",
781
+ "next": "Suivant",
782
+ "see-also": "Voir aussi",
783
+ "copy-link": "Copier le lien",
784
+ "copied-link": "Copié",
785
+ "copy-page": "Copier la page",
786
+ "copy-markdown": "Copier le markdown",
787
+ "edit": "Modifier cette page",
788
+ "last-updated": "Mis à jour",
789
+ "collapse": "Replier",
790
+ "expand": "Déplier",
791
+ "callout": {
792
+ "note": "Note",
793
+ "tip": "Astuce",
794
+ "info": "Info",
795
+ "warning": "Attention",
796
+ "danger": "Danger",
797
+ "success": "Succès"
798
+ }
799
+ },
800
+ "param-table": {
801
+ "name": "Nom",
802
+ "type": "Type",
803
+ "default": "Défaut",
804
+ "description": "Description",
805
+ "required": "requis"
749
806
  }
750
807
  }
751
808
  ;
@@ -29,6 +29,22 @@ export declare const resources: {
29
29
  title: string;
30
30
  description: string;
31
31
  };
32
+ "scroll-progress": string;
33
+ "skip-link": string;
34
+ "see-also": string;
35
+ cards: {
36
+ "per-month": string;
37
+ };
38
+ metrics: {
39
+ "of-target": string;
40
+ };
41
+ pager: {
42
+ previous: string;
43
+ next: string;
44
+ };
45
+ toc: {
46
+ "on-this-page": string;
47
+ };
32
48
  upload: {
33
49
  dropzone: {
34
50
  idle: string;
@@ -755,6 +771,47 @@ export declare const resources: {
755
771
  subtitle: string;
756
772
  "wip-full": string;
757
773
  };
774
+ doc: {
775
+ search: string;
776
+ "search-placeholder": string;
777
+ filter: string;
778
+ "filter-empty": string;
779
+ "no-results": string;
780
+ "search-navigate": string;
781
+ "search-select": string;
782
+ "search-close": string;
783
+ "skip-to-content": string;
784
+ "reading-progress": string;
785
+ "on-this-page": string;
786
+ menu: string;
787
+ "menu-description": string;
788
+ previous: string;
789
+ next: string;
790
+ "see-also": string;
791
+ "copy-link": string;
792
+ "copied-link": string;
793
+ "copy-page": string;
794
+ "copy-markdown": string;
795
+ edit: string;
796
+ "last-updated": string;
797
+ collapse: string;
798
+ expand: string;
799
+ callout: {
800
+ note: string;
801
+ tip: string;
802
+ info: string;
803
+ warning: string;
804
+ danger: string;
805
+ success: string;
806
+ };
807
+ };
808
+ "param-table": {
809
+ name: string;
810
+ type: string;
811
+ default: string;
812
+ description: string;
813
+ required: string;
814
+ };
758
815
  };
759
816
  };
760
817
  fr: {
@@ -781,6 +838,22 @@ export declare const resources: {
781
838
  title: string;
782
839
  description: string;
783
840
  };
841
+ "scroll-progress": string;
842
+ "skip-link": string;
843
+ "see-also": string;
844
+ cards: {
845
+ "per-month": string;
846
+ };
847
+ metrics: {
848
+ "of-target": string;
849
+ };
850
+ pager: {
851
+ previous: string;
852
+ next: string;
853
+ };
854
+ toc: {
855
+ "on-this-page": string;
856
+ };
784
857
  upload: {
785
858
  dropzone: {
786
859
  idle: string;
@@ -1507,6 +1580,47 @@ export declare const resources: {
1507
1580
  subtitle: string;
1508
1581
  "wip-full": string;
1509
1582
  };
1583
+ doc: {
1584
+ search: string;
1585
+ "search-placeholder": string;
1586
+ filter: string;
1587
+ "filter-empty": string;
1588
+ "no-results": string;
1589
+ "search-navigate": string;
1590
+ "search-select": string;
1591
+ "search-close": string;
1592
+ "skip-to-content": string;
1593
+ "reading-progress": string;
1594
+ "on-this-page": string;
1595
+ menu: string;
1596
+ "menu-description": string;
1597
+ previous: string;
1598
+ next: string;
1599
+ "see-also": string;
1600
+ "copy-link": string;
1601
+ "copied-link": string;
1602
+ "copy-page": string;
1603
+ "copy-markdown": string;
1604
+ edit: string;
1605
+ "last-updated": string;
1606
+ collapse: string;
1607
+ expand: string;
1608
+ callout: {
1609
+ note: string;
1610
+ tip: string;
1611
+ info: string;
1612
+ warning: string;
1613
+ danger: string;
1614
+ success: string;
1615
+ };
1616
+ };
1617
+ "param-table": {
1618
+ name: string;
1619
+ type: string;
1620
+ default: string;
1621
+ description: string;
1622
+ required: string;
1623
+ };
1510
1624
  };
1511
1625
  };
1512
1626
  };
@@ -25,4 +25,4 @@ export declare function getLanguage(): Language;
25
25
  */
26
26
  export declare function createTranslator<K extends string = MaterialLocaleKey>(bundle?: Record<string, any>, localeProvider?: LanguageProvider): Translate<K>;
27
27
  /** Translator bound to the base bundle owned by `@nxgt/material`. */
28
- export declare const translate: Translate<"material.filter.title" | "material.filter.reset" | "material.filter.trigger" | "material.filter.apply" | "material.filter.clear-all" | "material.code.copy" | "material.code.language" | "material.code.copied" | "material.code.word-wrap" | "material.pagination.next" | "material.pagination.previous" | "material.table.pagination.next" | "material.table.pagination.previous" | "material.table.pagination.go-to-next-page" | "material.table.pagination.go-to-previous-page" | "material.table.pagination.go-to-first-page" | "material.table.pagination.go-to-last-page" | "material.table.pagination.rows-per-page" | "material.table.pagination.rows-selected" | "material.table.pagination.page-of" | "material.table.labels.desc" | "material.table.labels.view" | "material.table.labels.hide" | "material.table.labels.asc" | "material.table.labels.actions" | "material.table.labels.delete-selected-rows" | "material.table.labels.toggle-columns" | "material.table.labels.no-data" | "material.table.delete-confirm.title" | "material.table.delete-confirm.cancel" | "material.table.delete-confirm.description" | "material.table.delete-confirm.confirm" | "material.banner.dismiss" | "material.tree.label" | "material.tree.expand" | "material.tree.collapse" | "material.copy.copy" | "material.copy.copied" | "material.command.title" | "material.command.description" | "material.language.fr" | "material.language.en" | "material.skeleton.loading" | "material.timeline.label" | "material.timeline.empty" | "material.upload.dropzone.idle" | "material.upload.dropzone.at-capacity" | "material.upload.dropzone.files-selected" | "material.empty-state.empty.title" | "material.empty-state.empty.description" | "material.empty-state.not-found.title" | "material.empty-state.not-found.description" | "material.empty-state.unauthorized.title" | "material.empty-state.unauthorized.description" | "material.empty-state.generic.title" | "material.empty-state.generic.description" | "material.image-field.replace" | "material.image-field.remove" | "material.image-field.choose" | "material.image-field.retry" | "material.buttons.add" | "material.buttons.save" | "material.buttons.load-more" | "material.buttons.ok" | "material.buttons.delete" | "material.json-viewer.expand" | "material.json-viewer.items" | "material.json-viewer.collapse" | "material.json-viewer.invalid" | "material.chat.send" | "material.chat.copy" | "material.chat.message" | "material.chat.empty" | "material.chat.retry" | "material.chat.attach" | "material.chat.remove-attachment" | "material.chat.scroll-to-latest" | "material.chat.add-reaction" | "material.chat.attachment-type" | "material.chat.attachment-max-files" | "material.chat.attachment-max-size" | "material.chat.placeholder" | "material.chat.typing" | "material.chat.empty-description" | "material.chat.send-failed" | "material.gallery.label" | "material.gallery.select" | "material.gallery.next" | "material.gallery.previous" | "material.gallery.open" | "material.gallery.repeat" | "material.gallery.close" | "material.gallery.download" | "material.gallery.play" | "material.gallery.empty" | "material.gallery.delete" | "material.gallery.empty-description" | "material.gallery.of" | "material.gallery.more" | "material.gallery.zoom-in" | "material.gallery.zoom-out" | "material.gallery.repeat-off" | "material.gallery.selected" | "material.gallery.clear-selection" | "material.notifications.label" | "material.notifications.search" | "material.notifications.dismiss" | "material.notifications.empty" | "material.notifications.empty-description" | "material.notifications.empty-unread" | "material.notifications.empty-unread-description" | "material.notifications.read-all" | "material.notifications.filter-all" | "material.notifications.filter-unread" | "material.notifications.filter-category-all" | "material.notifications.dismiss-item" | "material.education.progress" | "material.education.results" | "material.education.true" | "material.education.false" | "material.education.next" | "material.education.previous" | "material.education.submit" | "material.education.empty" | "material.education.retry" | "material.education.answer-placeholder" | "material.education.expected" | "material.education.answered" | "material.education.score" | "material.stx-player.audio" | "material.stx-player.video" | "material.stx-player.next" | "material.stx-player.previous" | "material.stx-player.repeat" | "material.stx-player.error" | "material.stx-player.loading" | "material.stx-player.pause" | "material.stx-player.play" | "material.stx-player.volume" | "material.stx-player.retry" | "material.stx-player.empty-description" | "material.stx-player.repeat-off" | "material.stx-player.mute" | "material.stx-player.unmute" | "material.stx-player.fullscreen" | "material.stx-player.exit-fullscreen" | "material.stx-player.pip" | "material.stx-player.exit-pip" | "material.stx-player.captions" | "material.stx-player.captions-off" | "material.stx-player.playback-rate" | "material.stx-player.queue" | "material.stx-player.now-playing" | "material.stx-player.buffering" | "material.stx-player.empty-title" | "material.stx-player.normal" | "material.attributes.buttons.add" | "material.attributes.buttons.save" | "material.attributes.form.label.label" | "material.attributes.form.label.placeholder" | "material.attributes.form.type.label" | "material.attributes.form.type.placeholder" | "material.attributes.form.name.label" | "material.attributes.form.name.placeholder" | "material.attributes.form.description.label" | "material.attributes.form.description.placeholder" | "material.attributes.form.default-value.label" | "material.attributes.form.default-value.placeholder" | "material.attributes.form.priority.label" | "material.attributes.form.priority.placeholder" | "material.attributes.form.options.label" | "material.attributes.form.options.placeholder" | "material.attributes.form.unit.label" | "material.attributes.form.unit.placeholder" | "material.attributes.messages.dialog" | "material.attributes.messages.empty" | "material.attributes.messages.create-succeeded" | "material.attributes.messages.update-succeeded" | "material.attributes.messages.delete-succeeded" | "material.attributes.messages.add-first" | "material.attributes.buttons.details" | "material.attributes.buttons.cancel" | "material.attributes.buttons.edit" | "material.attributes.buttons.remove" | "material.attributes.labels.attributes" | "material.attributes.labels.new-attribute" | "material.attributes.types.string" | "material.attributes.types.number" | "material.attributes.types.boolean" | "material.attributes.types.select" | "material.attributes.types.time" | "material.attributes.types.text" | "material.attributes.types.color" | "material.attributes.types.date" | "material.attributes.types.datetime" | "material.attributes.types.multi-select" | "material.attributes.types.rich-text" | "material.attributes.fields.label" | "material.attributes.fields.type" | "material.attributes.fields.name" | "material.attributes.fields.description" | "material.attributes.fields.default-value" | "material.attributes.fields.priority" | "material.attributes.fields.options" | "material.attributes.fields.unit" | "material.contacts.buttons.add" | "material.contacts.buttons.save" | "material.contacts.messages.dialog" | "material.contacts.messages.add-first" | "material.contacts.buttons.cancel" | "material.contacts.buttons.edit" | "material.contacts.buttons.remove" | "material.contacts.fields.label" | "material.contacts.fields.type" | "material.contacts.messages.no-contacts" | "material.contacts.labels.contacts" | "material.contacts.types.email" | "material.contacts.types.fax" | "material.contacts.types.mobile" | "material.contacts.types.phone" | "material.contacts.types.website" | "material.contacts.fields.value" | "material.contacts.placeholders.label" | "material.contacts.placeholders.email" | "material.contacts.placeholders.type" | "material.contacts.placeholders.value" | "material.contacts.placeholders.fax" | "material.contacts.placeholders.mobile" | "material.contacts.placeholders.phone" | "material.contacts.placeholders.website" | "material.opening-hours.buttons.add" | "material.opening-hours.buttons.save" | "material.opening-hours.messages.dialog" | "material.opening-hours.messages.add-first" | "material.opening-hours.buttons.cancel" | "material.opening-hours.buttons.edit" | "material.opening-hours.buttons.remove" | "material.opening-hours.messages.no-hours" | "material.opening-hours.buttons.add-all" | "material.opening-hours.labels.closed-all-day" | "material.opening-hours.labels.open-hours" | "material.opening-hours.fields.dayOfWeek" | "material.opening-hours.fields.openTime" | "material.opening-hours.fields.closeTime" | "material.opening-hours.fields.isClosed" | "material.opening-hours.placeholders.dayOfWeek" | "material.opening-hours.placeholders.openTime" | "material.opening-hours.placeholders.closeTime" | "material.opening-hours.days.0" | "material.opening-hours.days.1" | "material.opening-hours.days.2" | "material.opening-hours.days.3" | "material.opening-hours.days.4" | "material.opening-hours.days.5" | "material.opening-hours.days.6" | "material.opening-hours.daysShort.0" | "material.opening-hours.daysShort.1" | "material.opening-hours.daysShort.2" | "material.opening-hours.daysShort.3" | "material.opening-hours.daysShort.4" | "material.opening-hours.daysShort.5" | "material.opening-hours.daysShort.6" | "material.postal-address.buttons.add" | "material.postal-address.buttons.save" | "material.postal-address.messages.dialog" | "material.postal-address.messages.empty" | "material.postal-address.messages.add-first" | "material.postal-address.buttons.cancel" | "material.postal-address.buttons.edit" | "material.postal-address.buttons.remove" | "material.postal-address.labels.address" | "material.postal-address.fields.region" | "material.postal-address.fields.street" | "material.postal-address.fields.locality" | "material.postal-address.fields.postalCode" | "material.postal-address.fields.country" | "material.postal-address.placeholders.region" | "material.postal-address.placeholders.street" | "material.postal-address.placeholders.locality" | "material.postal-address.placeholders.postalCode" | "material.postal-address.placeholders.country" | "material.toast.buttons.close" | "material.toast.operations.error.title" | "material.toast.operations.success.title" | "material.toast.operations.loading.title" | "material.zod.default" | "material.zod.required" | "material.zod.invalid_value_single" | "material.zod.invalid_value_multiple" | "material.zod.too_big_inclusive" | "material.zod.too_big_exclusive" | "material.zod.too_big_no_unit_inclusive" | "material.zod.too_big_no_unit_exclusive" | "material.zod.too_small_inclusive" | "material.zod.too_small_exclusive" | "material.zod.too_small_no_unit_inclusive" | "material.zod.too_small_no_unit_exclusive" | "material.zod.not_multiple_of" | "material.zod.unrecognized_keys_single" | "material.zod.unrecognized_keys_multiple" | "material.zod.invalid_key" | "material.zod.invalid_union" | "material.zod.invalid_element" | "material.zod.invalid_type.string" | "material.zod.invalid_type.number" | "material.zod.invalid_type.bigint" | "material.zod.invalid_type.boolean" | "material.zod.invalid_type.symbol" | "material.zod.invalid_type.undefined" | "material.zod.invalid_type.object" | "material.zod.invalid_type.function" | "material.zod.invalid_type.default" | "material.zod.invalid_type.date" | "material.zod.invalid_type.array" | "material.zod.invalid_type.null" | "material.zod.invalid_type.enum" | "material.zod.invalid_format.includes" | "material.zod.invalid_format.default" | "material.zod.invalid_format.starts_with" | "material.zod.invalid_format.ends_with" | "material.zod.invalid_format.regex" | "material.zod.nouns.time" | "material.zod.nouns.url" | "material.zod.nouns.email" | "material.zod.nouns.date" | "material.zod.nouns.emoji" | "material.zod.nouns.nanoid" | "material.zod.nouns.cuid" | "material.zod.nouns.cuid2" | "material.zod.nouns.duration" | "material.zod.nouns.datetime" | "material.zod.nouns.regex" | "material.zod.nouns.uuid" | "material.zod.nouns.uuidv4" | "material.zod.nouns.uuidv6" | "material.zod.nouns.guid" | "material.zod.nouns.ulid" | "material.zod.nouns.xid" | "material.zod.nouns.ksuid" | "material.zod.nouns.ipv4" | "material.zod.nouns.ipv6" | "material.zod.nouns.mac" | "material.zod.nouns.cidrv4" | "material.zod.nouns.cidrv6" | "material.zod.nouns.base64" | "material.zod.nouns.base64url" | "material.zod.nouns.json_string" | "material.zod.nouns.e164" | "material.zod.nouns.jwt" | "material.zod.nouns.template_literal" | "material.zod.sizing.string.unit" | "material.zod.sizing.string.verb" | "material.zod.sizing.set.unit" | "material.zod.sizing.set.verb" | "material.zod.sizing.file.unit" | "material.zod.sizing.file.verb" | "material.zod.sizing.array.unit" | "material.zod.sizing.array.verb" | "material.pdf-reader.label" | "material.pdf-reader.search" | "material.pdf-reader.rotate" | "material.pdf-reader.error" | "material.pdf-reader.loading" | "material.pdf-reader.download" | "material.pdf-reader.print" | "material.pdf-reader.sidebar" | "material.pdf-reader.unlock" | "material.pdf-reader.empty" | "material.pdf-reader.zoom-in" | "material.pdf-reader.zoom-out" | "material.pdf-reader.fullscreen" | "material.pdf-reader.exit-fullscreen" | "material.pdf-reader.password" | "material.pdf-reader.password-placeholder" | "material.pdf-reader.pages" | "material.pdf-reader.outline" | "material.pdf-reader.outline-empty" | "material.pdf-reader.fit-width" | "material.pdf-reader.fit-page" | "material.pdf-reader.fit-width-full" | "material.pdf-reader.fit-page-full" | "material.pdf-reader.sidebar-toggle" | "material.pdf-reader.previous-page" | "material.pdf-reader.next-page" | "material.pdf-reader.current-page" | "material.pdf-reader.search-shortcut" | "material.pdf-reader.search-next" | "material.pdf-reader.search-prev" | "material.pdf-reader.night" | "material.pdf-reader.day" | "material.pdf-reader.thumbnails" | "material.pdf-reader.go-to-page" | "material.image-cropper.title" | "material.image-cropper.error" | "material.image-cropper.cancel" | "material.image-cropper.rotate-left" | "material.image-cropper.rotate-right" | "material.image-cropper.zoom" | "material.image-cropper.apply" | "material.image-cropper.free" | "material.avatar-group.more" | "material.search-field.placeholder" | "material.search-field.clear" | "material.password-field.strong" | "material.password-field.show" | "material.password-field.hide" | "material.password-field.too-weak" | "material.password-field.weak" | "material.password-field.fair" | "material.password-field.very-strong" | "material.stat-card.increase" | "material.stat-card.decrease" | "material.stat-card.unchanged" | "material.color-field.open" | "material.split-button.more" | "material.file-list.label" | "material.file-list.replace" | "material.file-list.download" | "material.file-list.remove" | "material.file-list.empty" | "material.file-list.retry" | "material.inline-edit.cancel" | "material.inline-edit.edit" | "material.inline-edit.save" | "material.inline-edit.placeholder" | "material.number-field.increase" | "material.number-field.decrease" | "material.textarea-field.count" | "material.chip.dismiss" | "material.pagination.page" | "material.pagination.more" | "material.phone-field.search" | "material.phone-field.empty" | "material.phone-field.placeholder" | "material.phone-field.country" | "material.rating-field.star" | "material.theme-toggle.light" | "material.theme-toggle.dark" | "material.theme-toggle.system" | "material.language-switcher.label" | "material.email-field.invalid" | "material.email-field.mailto" | "material.url-field.open" | "material.url-field.invalid" | "material.stepper.step" | "material.combobox-field.empty" | "material.combobox-field.placeholder" | "material.avatar.online" | "material.avatar.offline" | "material.avatar.away" | "material.avatar.busy" | "material.avatar.active" | "material.country-field.placeholder" | "material.duration-field.hours" | "material.duration-field.minutes" | "material.count-badge.label" | "material.timezone-field.placeholder" | "material.app-shell.home" | "material.app-shell.open-menu" | "material.transfer-list.search" | "material.transfer-list.max" | "material.transfer-list.selected" | "material.transfer-list.count" | "material.transfer-list.available" | "material.transfer-list.select-all" | "material.transfer-list.move-to-selected" | "material.transfer-list.move-all-to-selected" | "material.transfer-list.move-to-available" | "material.transfer-list.move-all-to-available" | "material.transfer-list.move-up" | "material.transfer-list.move-down" | "material.transfer-list.empty-available" | "material.transfer-list.empty-selected" | "material.transfer-list.empty-filter" | "material.transfer-list.locked" | "material.transfer-list.drag" | "material.sortable-list.search" | "material.sortable-list.empty" | "material.sortable-list.move-up" | "material.sortable-list.move-down" | "material.sortable-list.empty-filter" | "material.sortable-list.drag" | "material.event-calendar.search" | "material.event-calendar.title" | "material.event-calendar.color" | "material.event-calendar.next" | "material.event-calendar.previous" | "material.event-calendar.add" | "material.event-calendar.delete-confirm" | "material.event-calendar.description" | "material.event-calendar.empty" | "material.event-calendar.delete" | "material.event-calendar.more" | "material.event-calendar.day" | "material.event-calendar.drag" | "material.event-calendar.today" | "material.event-calendar.month" | "material.event-calendar.week" | "material.event-calendar.workweek" | "material.event-calendar.agenda" | "material.event-calendar.all-day" | "material.event-calendar.events" | "material.event-calendar.resize" | "material.event-calendar.new-event" | "material.event-calendar.new-all-day" | "material.event-calendar.pick-date" | "material.event-calendar.no-results" | "material.dnd.drag" | "material.kanban.search" | "material.kanban.empty" | "material.kanban.drag" | "material.kanban.no-results" | "material.kanban.wip" | "material.kanban.drag-column" | "material.kanban.ungrouped" | "material.kanban.collapse-group" | "material.kanban.expand-group" | "material.kanban.collapse-column" | "material.kanban.expand-column" | "material.kanban.add-card" | "material.kanban.new-card" | "material.kanban.card-title" | "material.kanban.subtitle" | "material.kanban.wip-full">;
28
+ export declare const translate: Translate<"material.scroll-progress" | "material.skip-link" | "material.see-also" | "material.filter.title" | "material.filter.reset" | "material.filter.trigger" | "material.filter.apply" | "material.filter.clear-all" | "material.code.copy" | "material.code.language" | "material.code.copied" | "material.code.word-wrap" | "material.pagination.next" | "material.pagination.previous" | "material.table.pagination.next" | "material.table.pagination.previous" | "material.table.pagination.go-to-next-page" | "material.table.pagination.go-to-previous-page" | "material.table.pagination.go-to-first-page" | "material.table.pagination.go-to-last-page" | "material.table.pagination.rows-per-page" | "material.table.pagination.rows-selected" | "material.table.pagination.page-of" | "material.table.labels.desc" | "material.table.labels.view" | "material.table.labels.hide" | "material.table.labels.asc" | "material.table.labels.actions" | "material.table.labels.delete-selected-rows" | "material.table.labels.toggle-columns" | "material.table.labels.no-data" | "material.table.delete-confirm.title" | "material.table.delete-confirm.cancel" | "material.table.delete-confirm.description" | "material.table.delete-confirm.confirm" | "material.banner.dismiss" | "material.tree.label" | "material.tree.expand" | "material.tree.collapse" | "material.copy.copy" | "material.copy.copied" | "material.cards.per-month" | "material.command.title" | "material.command.description" | "material.language.fr" | "material.language.en" | "material.pager.next" | "material.pager.previous" | "material.skeleton.loading" | "material.timeline.label" | "material.timeline.empty" | "material.upload.dropzone.idle" | "material.upload.dropzone.at-capacity" | "material.upload.dropzone.files-selected" | "material.empty-state.empty.title" | "material.empty-state.empty.description" | "material.empty-state.not-found.title" | "material.empty-state.not-found.description" | "material.empty-state.unauthorized.title" | "material.empty-state.unauthorized.description" | "material.empty-state.generic.title" | "material.empty-state.generic.description" | "material.metrics.of-target" | "material.toc.on-this-page" | "material.image-field.replace" | "material.image-field.remove" | "material.image-field.choose" | "material.image-field.retry" | "material.buttons.add" | "material.buttons.save" | "material.buttons.load-more" | "material.buttons.ok" | "material.buttons.delete" | "material.json-viewer.expand" | "material.json-viewer.items" | "material.json-viewer.collapse" | "material.json-viewer.invalid" | "material.chat.send" | "material.chat.copy" | "material.chat.message" | "material.chat.empty" | "material.chat.retry" | "material.chat.attach" | "material.chat.remove-attachment" | "material.chat.scroll-to-latest" | "material.chat.add-reaction" | "material.chat.attachment-type" | "material.chat.attachment-max-files" | "material.chat.attachment-max-size" | "material.chat.placeholder" | "material.chat.typing" | "material.chat.empty-description" | "material.chat.send-failed" | "material.gallery.label" | "material.gallery.select" | "material.gallery.next" | "material.gallery.previous" | "material.gallery.open" | "material.gallery.repeat" | "material.gallery.close" | "material.gallery.download" | "material.gallery.play" | "material.gallery.empty" | "material.gallery.delete" | "material.gallery.empty-description" | "material.gallery.of" | "material.gallery.more" | "material.gallery.zoom-in" | "material.gallery.zoom-out" | "material.gallery.repeat-off" | "material.gallery.selected" | "material.gallery.clear-selection" | "material.notifications.label" | "material.notifications.search" | "material.notifications.dismiss" | "material.notifications.empty" | "material.notifications.empty-description" | "material.notifications.empty-unread" | "material.notifications.empty-unread-description" | "material.notifications.read-all" | "material.notifications.filter-all" | "material.notifications.filter-unread" | "material.notifications.filter-category-all" | "material.notifications.dismiss-item" | "material.education.progress" | "material.education.results" | "material.education.true" | "material.education.false" | "material.education.next" | "material.education.previous" | "material.education.submit" | "material.education.empty" | "material.education.retry" | "material.education.answer-placeholder" | "material.education.expected" | "material.education.answered" | "material.education.score" | "material.stx-player.audio" | "material.stx-player.video" | "material.stx-player.next" | "material.stx-player.previous" | "material.stx-player.repeat" | "material.stx-player.error" | "material.stx-player.loading" | "material.stx-player.pause" | "material.stx-player.play" | "material.stx-player.volume" | "material.stx-player.retry" | "material.stx-player.empty-description" | "material.stx-player.repeat-off" | "material.stx-player.mute" | "material.stx-player.unmute" | "material.stx-player.fullscreen" | "material.stx-player.exit-fullscreen" | "material.stx-player.pip" | "material.stx-player.exit-pip" | "material.stx-player.captions" | "material.stx-player.captions-off" | "material.stx-player.playback-rate" | "material.stx-player.queue" | "material.stx-player.now-playing" | "material.stx-player.buffering" | "material.stx-player.empty-title" | "material.stx-player.normal" | "material.attributes.buttons.add" | "material.attributes.buttons.save" | "material.attributes.form.label.label" | "material.attributes.form.label.placeholder" | "material.attributes.form.type.label" | "material.attributes.form.type.placeholder" | "material.attributes.form.name.label" | "material.attributes.form.name.placeholder" | "material.attributes.form.description.label" | "material.attributes.form.description.placeholder" | "material.attributes.form.default-value.label" | "material.attributes.form.default-value.placeholder" | "material.attributes.form.priority.label" | "material.attributes.form.priority.placeholder" | "material.attributes.form.options.label" | "material.attributes.form.options.placeholder" | "material.attributes.form.unit.label" | "material.attributes.form.unit.placeholder" | "material.attributes.messages.dialog" | "material.attributes.messages.empty" | "material.attributes.messages.create-succeeded" | "material.attributes.messages.update-succeeded" | "material.attributes.messages.delete-succeeded" | "material.attributes.messages.add-first" | "material.attributes.buttons.details" | "material.attributes.buttons.cancel" | "material.attributes.buttons.edit" | "material.attributes.buttons.remove" | "material.attributes.labels.attributes" | "material.attributes.labels.new-attribute" | "material.attributes.types.string" | "material.attributes.types.number" | "material.attributes.types.boolean" | "material.attributes.types.select" | "material.attributes.types.time" | "material.attributes.types.text" | "material.attributes.types.color" | "material.attributes.types.date" | "material.attributes.types.datetime" | "material.attributes.types.multi-select" | "material.attributes.types.rich-text" | "material.attributes.fields.label" | "material.attributes.fields.type" | "material.attributes.fields.name" | "material.attributes.fields.description" | "material.attributes.fields.default-value" | "material.attributes.fields.priority" | "material.attributes.fields.options" | "material.attributes.fields.unit" | "material.contacts.buttons.add" | "material.contacts.buttons.save" | "material.contacts.messages.dialog" | "material.contacts.messages.add-first" | "material.contacts.buttons.cancel" | "material.contacts.buttons.edit" | "material.contacts.buttons.remove" | "material.contacts.fields.label" | "material.contacts.fields.type" | "material.contacts.messages.no-contacts" | "material.contacts.labels.contacts" | "material.contacts.types.email" | "material.contacts.types.fax" | "material.contacts.types.mobile" | "material.contacts.types.phone" | "material.contacts.types.website" | "material.contacts.fields.value" | "material.contacts.placeholders.label" | "material.contacts.placeholders.email" | "material.contacts.placeholders.type" | "material.contacts.placeholders.value" | "material.contacts.placeholders.fax" | "material.contacts.placeholders.mobile" | "material.contacts.placeholders.phone" | "material.contacts.placeholders.website" | "material.opening-hours.buttons.add" | "material.opening-hours.buttons.save" | "material.opening-hours.messages.dialog" | "material.opening-hours.messages.add-first" | "material.opening-hours.buttons.cancel" | "material.opening-hours.buttons.edit" | "material.opening-hours.buttons.remove" | "material.opening-hours.messages.no-hours" | "material.opening-hours.buttons.add-all" | "material.opening-hours.labels.closed-all-day" | "material.opening-hours.labels.open-hours" | "material.opening-hours.fields.dayOfWeek" | "material.opening-hours.fields.openTime" | "material.opening-hours.fields.closeTime" | "material.opening-hours.fields.isClosed" | "material.opening-hours.placeholders.dayOfWeek" | "material.opening-hours.placeholders.openTime" | "material.opening-hours.placeholders.closeTime" | "material.opening-hours.days.0" | "material.opening-hours.days.1" | "material.opening-hours.days.2" | "material.opening-hours.days.3" | "material.opening-hours.days.4" | "material.opening-hours.days.5" | "material.opening-hours.days.6" | "material.opening-hours.daysShort.0" | "material.opening-hours.daysShort.1" | "material.opening-hours.daysShort.2" | "material.opening-hours.daysShort.3" | "material.opening-hours.daysShort.4" | "material.opening-hours.daysShort.5" | "material.opening-hours.daysShort.6" | "material.postal-address.buttons.add" | "material.postal-address.buttons.save" | "material.postal-address.messages.dialog" | "material.postal-address.messages.empty" | "material.postal-address.messages.add-first" | "material.postal-address.buttons.cancel" | "material.postal-address.buttons.edit" | "material.postal-address.buttons.remove" | "material.postal-address.labels.address" | "material.postal-address.fields.region" | "material.postal-address.fields.street" | "material.postal-address.fields.locality" | "material.postal-address.fields.postalCode" | "material.postal-address.fields.country" | "material.postal-address.placeholders.region" | "material.postal-address.placeholders.street" | "material.postal-address.placeholders.locality" | "material.postal-address.placeholders.postalCode" | "material.postal-address.placeholders.country" | "material.toast.buttons.close" | "material.toast.operations.error.title" | "material.toast.operations.success.title" | "material.toast.operations.loading.title" | "material.zod.default" | "material.zod.required" | "material.zod.invalid_value_single" | "material.zod.invalid_value_multiple" | "material.zod.too_big_inclusive" | "material.zod.too_big_exclusive" | "material.zod.too_big_no_unit_inclusive" | "material.zod.too_big_no_unit_exclusive" | "material.zod.too_small_inclusive" | "material.zod.too_small_exclusive" | "material.zod.too_small_no_unit_inclusive" | "material.zod.too_small_no_unit_exclusive" | "material.zod.not_multiple_of" | "material.zod.unrecognized_keys_single" | "material.zod.unrecognized_keys_multiple" | "material.zod.invalid_key" | "material.zod.invalid_union" | "material.zod.invalid_element" | "material.zod.invalid_type.string" | "material.zod.invalid_type.number" | "material.zod.invalid_type.bigint" | "material.zod.invalid_type.boolean" | "material.zod.invalid_type.symbol" | "material.zod.invalid_type.undefined" | "material.zod.invalid_type.object" | "material.zod.invalid_type.function" | "material.zod.invalid_type.default" | "material.zod.invalid_type.date" | "material.zod.invalid_type.array" | "material.zod.invalid_type.null" | "material.zod.invalid_type.enum" | "material.zod.invalid_format.includes" | "material.zod.invalid_format.default" | "material.zod.invalid_format.starts_with" | "material.zod.invalid_format.ends_with" | "material.zod.invalid_format.regex" | "material.zod.nouns.time" | "material.zod.nouns.url" | "material.zod.nouns.email" | "material.zod.nouns.date" | "material.zod.nouns.emoji" | "material.zod.nouns.nanoid" | "material.zod.nouns.cuid" | "material.zod.nouns.cuid2" | "material.zod.nouns.duration" | "material.zod.nouns.datetime" | "material.zod.nouns.regex" | "material.zod.nouns.uuid" | "material.zod.nouns.uuidv4" | "material.zod.nouns.uuidv6" | "material.zod.nouns.guid" | "material.zod.nouns.ulid" | "material.zod.nouns.xid" | "material.zod.nouns.ksuid" | "material.zod.nouns.ipv4" | "material.zod.nouns.ipv6" | "material.zod.nouns.mac" | "material.zod.nouns.cidrv4" | "material.zod.nouns.cidrv6" | "material.zod.nouns.base64" | "material.zod.nouns.base64url" | "material.zod.nouns.json_string" | "material.zod.nouns.e164" | "material.zod.nouns.jwt" | "material.zod.nouns.template_literal" | "material.zod.sizing.string.unit" | "material.zod.sizing.string.verb" | "material.zod.sizing.set.unit" | "material.zod.sizing.set.verb" | "material.zod.sizing.file.unit" | "material.zod.sizing.file.verb" | "material.zod.sizing.array.unit" | "material.zod.sizing.array.verb" | "material.pdf-reader.label" | "material.pdf-reader.search" | "material.pdf-reader.rotate" | "material.pdf-reader.error" | "material.pdf-reader.loading" | "material.pdf-reader.download" | "material.pdf-reader.print" | "material.pdf-reader.sidebar" | "material.pdf-reader.unlock" | "material.pdf-reader.empty" | "material.pdf-reader.zoom-in" | "material.pdf-reader.zoom-out" | "material.pdf-reader.fullscreen" | "material.pdf-reader.exit-fullscreen" | "material.pdf-reader.password" | "material.pdf-reader.password-placeholder" | "material.pdf-reader.pages" | "material.pdf-reader.outline" | "material.pdf-reader.outline-empty" | "material.pdf-reader.fit-width" | "material.pdf-reader.fit-page" | "material.pdf-reader.fit-width-full" | "material.pdf-reader.fit-page-full" | "material.pdf-reader.sidebar-toggle" | "material.pdf-reader.previous-page" | "material.pdf-reader.next-page" | "material.pdf-reader.current-page" | "material.pdf-reader.search-shortcut" | "material.pdf-reader.search-next" | "material.pdf-reader.search-prev" | "material.pdf-reader.night" | "material.pdf-reader.day" | "material.pdf-reader.thumbnails" | "material.pdf-reader.go-to-page" | "material.image-cropper.title" | "material.image-cropper.error" | "material.image-cropper.cancel" | "material.image-cropper.rotate-left" | "material.image-cropper.rotate-right" | "material.image-cropper.zoom" | "material.image-cropper.apply" | "material.image-cropper.free" | "material.avatar-group.more" | "material.search-field.placeholder" | "material.search-field.clear" | "material.password-field.strong" | "material.password-field.show" | "material.password-field.hide" | "material.password-field.too-weak" | "material.password-field.weak" | "material.password-field.fair" | "material.password-field.very-strong" | "material.stat-card.increase" | "material.stat-card.decrease" | "material.stat-card.unchanged" | "material.color-field.open" | "material.split-button.more" | "material.file-list.label" | "material.file-list.replace" | "material.file-list.download" | "material.file-list.remove" | "material.file-list.empty" | "material.file-list.retry" | "material.inline-edit.cancel" | "material.inline-edit.edit" | "material.inline-edit.save" | "material.inline-edit.placeholder" | "material.number-field.increase" | "material.number-field.decrease" | "material.textarea-field.count" | "material.chip.dismiss" | "material.pagination.page" | "material.pagination.more" | "material.phone-field.search" | "material.phone-field.empty" | "material.phone-field.placeholder" | "material.phone-field.country" | "material.rating-field.star" | "material.theme-toggle.light" | "material.theme-toggle.dark" | "material.theme-toggle.system" | "material.language-switcher.label" | "material.email-field.invalid" | "material.email-field.mailto" | "material.url-field.open" | "material.url-field.invalid" | "material.stepper.step" | "material.combobox-field.empty" | "material.combobox-field.placeholder" | "material.avatar.online" | "material.avatar.offline" | "material.avatar.away" | "material.avatar.busy" | "material.avatar.active" | "material.country-field.placeholder" | "material.duration-field.hours" | "material.duration-field.minutes" | "material.count-badge.label" | "material.timezone-field.placeholder" | "material.app-shell.home" | "material.app-shell.open-menu" | "material.transfer-list.search" | "material.transfer-list.max" | "material.transfer-list.selected" | "material.transfer-list.count" | "material.transfer-list.available" | "material.transfer-list.select-all" | "material.transfer-list.move-to-selected" | "material.transfer-list.move-all-to-selected" | "material.transfer-list.move-to-available" | "material.transfer-list.move-all-to-available" | "material.transfer-list.move-up" | "material.transfer-list.move-down" | "material.transfer-list.empty-available" | "material.transfer-list.empty-selected" | "material.transfer-list.empty-filter" | "material.transfer-list.locked" | "material.transfer-list.drag" | "material.sortable-list.search" | "material.sortable-list.empty" | "material.sortable-list.move-up" | "material.sortable-list.move-down" | "material.sortable-list.empty-filter" | "material.sortable-list.drag" | "material.event-calendar.search" | "material.event-calendar.title" | "material.event-calendar.color" | "material.event-calendar.next" | "material.event-calendar.previous" | "material.event-calendar.add" | "material.event-calendar.delete-confirm" | "material.event-calendar.description" | "material.event-calendar.empty" | "material.event-calendar.delete" | "material.event-calendar.more" | "material.event-calendar.day" | "material.event-calendar.drag" | "material.event-calendar.today" | "material.event-calendar.month" | "material.event-calendar.week" | "material.event-calendar.workweek" | "material.event-calendar.agenda" | "material.event-calendar.all-day" | "material.event-calendar.events" | "material.event-calendar.resize" | "material.event-calendar.new-event" | "material.event-calendar.new-all-day" | "material.event-calendar.pick-date" | "material.event-calendar.no-results" | "material.dnd.drag" | "material.kanban.search" | "material.kanban.empty" | "material.kanban.drag" | "material.kanban.no-results" | "material.kanban.wip" | "material.kanban.drag-column" | "material.kanban.ungrouped" | "material.kanban.collapse-group" | "material.kanban.expand-group" | "material.kanban.collapse-column" | "material.kanban.expand-column" | "material.kanban.add-card" | "material.kanban.new-card" | "material.kanban.card-title" | "material.kanban.subtitle" | "material.kanban.wip-full" | "material.doc.filter" | "material.doc.menu" | "material.doc.search" | "material.doc.next" | "material.doc.previous" | "material.doc.edit" | "material.doc.expand" | "material.doc.see-also" | "material.doc.collapse" | "material.doc.on-this-page" | "material.doc.no-results" | "material.doc.search-placeholder" | "material.doc.filter-empty" | "material.doc.search-navigate" | "material.doc.search-select" | "material.doc.search-close" | "material.doc.skip-to-content" | "material.doc.reading-progress" | "material.doc.menu-description" | "material.doc.copy-link" | "material.doc.copied-link" | "material.doc.copy-page" | "material.doc.copy-markdown" | "material.doc.last-updated" | "material.doc.callout.note" | "material.doc.callout.info" | "material.doc.callout.warning" | "material.doc.callout.success" | "material.doc.callout.tip" | "material.doc.callout.danger" | "material.param-table.type" | "material.param-table.name" | "material.param-table.default" | "material.param-table.required" | "material.param-table.description">;
@@ -1,6 +1,15 @@
1
+ export declare function slugify(value: string): string;
1
2
  export declare function enumToKebabCase(value?: string): string;
2
3
  export declare function joinTruthyParts(parts: Array<string | null | undefined | false>, separator?: string): string;
4
+ export type MatchPart = {
5
+ text: string;
6
+ match: boolean;
7
+ };
8
+ /** Split `text` around case-insensitive matches of `query` (regex-safe). */
9
+ export declare function splitMatch(text: string, query: string): MatchPart[];
3
10
  export declare const STRING_UTILS: {
4
11
  enumToKebabCase: typeof enumToKebabCase;
5
12
  joinTruthyParts: typeof joinTruthyParts;
13
+ slugify: typeof slugify;
14
+ splitMatch: typeof splitMatch;
6
15
  };
@@ -1,2 +1,4 @@
1
1
  export declare function searchParams(request: Request): URLSearchParams;
2
2
  export declare function searchParam(request: Request, key: string): string | null;
3
+ /** Absolute http(s) or mailto — opens in a new tab, not in-app. */
4
+ export declare function isExternalHref(href: string): boolean;