@ongov/ontario-design-system-component-library 4.3.0-alpha.3 → 4.3.1-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/cjs/loader.cjs.js +1 -1
  2. package/dist/cjs/ontario-accordion_43.cjs.entry.js +404 -223
  3. package/dist/cjs/ontario-accordion_43.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ontario-design-system-components.cjs.js +1 -1
  5. package/dist/collection/components/ontario-card/ontario-card.css +13 -5
  6. package/dist/collection/components/ontario-card/ontario-card.js +10 -10
  7. package/dist/collection/components/ontario-card/ontario-card.js.map +1 -1
  8. package/dist/collection/components/ontario-card/test/ontario-cards.spec.js +1 -1
  9. package/dist/collection/components/ontario-card/test/ontario-cards.spec.js.map +1 -1
  10. package/dist/collection/components/ontario-header/ontario-header.js +17 -3
  11. package/dist/collection/components/ontario-header/ontario-header.js.map +1 -1
  12. package/dist/collection/components/ontario-header/test/ontario-header.spec.js +3 -3
  13. package/dist/collection/components/ontario-header/test/ontario-header.spec.js.map +1 -1
  14. package/dist/collection/components/ontario-language-toggle/ontario-language-toggle.js +193 -47
  15. package/dist/collection/components/ontario-language-toggle/ontario-language-toggle.js.map +1 -1
  16. package/dist/collection/components/ontario-language-toggle/test/ontario-language-toggle.spec.js +16 -3
  17. package/dist/collection/components/ontario-language-toggle/test/ontario-language-toggle.spec.js.map +1 -1
  18. package/dist/collection/i18n/global.i18n.json +172 -162
  19. package/dist/collection/utils/common/language-types.js +1 -1
  20. package/dist/collection/utils/common/language-types.js.map +1 -1
  21. package/dist/collection/utils/helper/utils-types.js +2 -0
  22. package/dist/collection/utils/helper/utils-types.js.map +1 -0
  23. package/dist/collection/utils/helper/utils.js +26 -0
  24. package/dist/collection/utils/helper/utils.js.map +1 -1
  25. package/dist/components/global.i18n.js +184 -173
  26. package/dist/components/global.i18n.js.map +1 -1
  27. package/dist/components/ontario-card.js +11 -11
  28. package/dist/components/ontario-card.js.map +1 -1
  29. package/dist/components/ontario-header.js +11 -3
  30. package/dist/components/ontario-header.js.map +1 -1
  31. package/dist/components/ontario-language-toggle2.js +180 -37
  32. package/dist/components/ontario-language-toggle2.js.map +1 -1
  33. package/dist/components/utils.js +28 -0
  34. package/dist/components/utils.js.map +1 -1
  35. package/dist/esm/loader.js +1 -1
  36. package/dist/esm/ontario-accordion_43.entry.js +404 -223
  37. package/dist/esm/ontario-accordion_43.entry.js.map +1 -1
  38. package/dist/esm/ontario-design-system-components.js +1 -1
  39. package/dist/ontario-design-system-components/i18n/global.i18n.json +172 -162
  40. package/dist/ontario-design-system-components/ontario-design-system-components.esm.js +1 -1
  41. package/dist/ontario-design-system-components/ontario-design-system-components.esm.js.map +1 -1
  42. package/dist/ontario-design-system-components/{p-cff41424.entry.js → p-abe58ec9.entry.js} +697 -608
  43. package/dist/ontario-design-system-components/p-abe58ec9.entry.js.map +1 -0
  44. package/dist/types/components/ontario-header/ontario-header.d.ts +13 -2
  45. package/dist/types/components/ontario-language-toggle/ontario-language-toggle.d.ts +75 -8
  46. package/dist/types/components.d.ts +12 -6
  47. package/dist/types/utils/common/language-types.d.ts +2 -1
  48. package/dist/types/utils/helper/utils-types.d.ts +2 -0
  49. package/dist/types/utils/helper/utils.d.ts +21 -0
  50. package/package.json +3 -3
  51. package/src/components/ontario-card/ontario-card.scss +13 -6
  52. package/src/components/ontario-card/ontario-card.tsx +8 -6
  53. package/src/components/ontario-card/test/ontario-cards.spec.tsx +1 -1
  54. package/src/components/ontario-header/ontario-header.tsx +13 -4
  55. package/src/components/ontario-header/test/ontario-header.spec.tsx +3 -3
  56. package/src/components/ontario-language-toggle/ontario-language-toggle.tsx +192 -45
  57. package/src/components/ontario-language-toggle/readme.md +10 -10
  58. package/src/components/ontario-language-toggle/test/__snapshots__/ontario-language-toggle.spec.tsx.snap +1 -1
  59. package/src/components/ontario-language-toggle/test/ontario-language-toggle.spec.tsx +17 -3
  60. package/src/components.d.ts +12 -6
  61. package/src/french.html +37 -0
  62. package/src/index.html +19 -0
  63. package/src/translations/global.i18n.json +172 -162
  64. package/src/utils/common/language-types.ts +2 -1
  65. package/src/utils/helper/utils-types.ts +2 -0
  66. package/src/utils/helper/utils.ts +30 -0
  67. package/www/build/ontario-design-system-components.esm.js +1 -1
  68. package/www/build/ontario-design-system-components.esm.js.map +1 -1
  69. package/www/build/{p-cff41424.entry.js → p-abe58ec9.entry.js} +697 -608
  70. package/www/build/p-abe58ec9.entry.js.map +1 -0
  71. package/www/build/{p-b61db0f6.js → p-fdc9ab6d.js} +1 -1
  72. package/www/french.html +37 -0
  73. package/www/i18n/global.i18n.json +172 -162
  74. package/www/index.html +21 -2
  75. package/dist/ontario-design-system-components/p-cff41424.entry.js.map +0 -1
  76. package/www/build/p-cff41424.entry.js.map +0 -1
@@ -1,155 +1,55 @@
1
1
  {
2
- "required": {
3
- "en": "required",
4
- "fr": "obligatoire"
5
- },
6
- "optional": {
7
- "en": "optional",
8
- "fr": "facultative"
9
- },
10
2
  "accessibility": {
11
- "moreInfo": {
12
- "en": "More information on",
13
- "fr": "Des renseignements supplémentaires sur"
14
- },
15
3
  "checkboxHintExpander": {
16
4
  "en": "is available after the last checkbox item.",
17
5
  "fr": "suivront à la dernière case à cocher."
18
6
  },
7
+ "moreInfo": {
8
+ "en": "More information on",
9
+ "fr": "Des renseignements supplémentaires sur"
10
+ },
19
11
  "singleHintExpander": {
20
12
  "en": "field is available in the next element.",
21
13
  "fr": "suivront au prochain élément."
22
14
  }
23
15
  },
24
- "backToTop": {
25
- "top": {
26
- "en": "Top",
27
- "fr": "Haut"
28
- },
29
- "ariaLabel": {
30
- "en": "Scroll back to the top",
31
- "fr": "Retour en haut de la page"
32
- }
33
- },
34
- "loading": {
35
- "en": "Loading",
36
- "fr": "Chargement"
37
- },
38
- "dropdownList": {
39
- "select": {
40
- "en": "Select",
41
- "fr": "Sélectionner"
42
- }
43
- },
44
- "contactUs": {
45
- "en": "Contact us",
46
- "fr": "Contactez-nous"
47
- },
48
16
  "accessibilityLink": {
49
- "text": {
50
- "en": "Accessibility",
51
- "fr": "Accessibilité"
52
- },
53
17
  "link": {
54
18
  "en": "https://www.ontario.ca/page/accessibility",
55
19
  "fr": "https://www.ontario.ca/fr/page/accessibilite"
56
- }
57
- },
58
- "privacyLink": {
59
- "text": {
60
- "en": "Privacy",
61
- "fr": "Confidentialité"
62
20
  },
63
- "link": {
64
- "en": "https://www.ontario.ca/page/privacy-statement",
65
- "fr": "https://www.ontario.ca/fr/page/declaration-concernant-la-protection-de-la-vie-privee"
66
- }
67
- },
68
- "printerLink": {
69
21
  "text": {
70
- "en": "King's Printer for Ontario,",
71
- "fr": "Imprimeur du Roi pour l’Ontario,"
72
- },
73
- "link": {
74
- "en": "https://www.ontario.ca/page/copyright-information",
75
- "fr": "https://www.ontario.ca/fr/page/droits-dauteur"
76
- }
77
- },
78
- "languageToggle": {
79
- "ariaLabel": {
80
- "en": "Click to switch language to French",
81
- "fr": "Cliquez pour changer de langue en anglais"
22
+ "en": "Accessibility",
23
+ "fr": "Accessibilité"
82
24
  }
83
25
  },
84
- "stepIndicator": {
85
- "back": {
86
- "en": "Back",
87
- "fr": "Retour"
88
- },
89
- "step": {
90
- "en": "Step",
91
- "fr": "Étape"
26
+ "accordion": {
27
+ "collapse": {
28
+ "en": "Collapse all",
29
+ "fr": "Réduire tout"
92
30
  },
93
- "of": {
94
- "en": "of",
95
- "fr": "sur"
31
+ "expand": {
32
+ "en": "Expand all",
33
+ "fr": "Agrandir tout"
96
34
  },
97
- "complete": {
98
- "en": "complete",
99
- "fr": "complet"
35
+ "expandCollapseAriaLabel": {
36
+ "en": "Expand or collapse the accordion",
37
+ "fr": "Agrandissez ou réduisez l'accordéon"
100
38
  }
101
39
  },
102
- "header": {
103
- "ontarioSearchURL": {
104
- "en": "https://www.ontario.ca/search/search-results?query=",
105
- "fr": "https://www.ontario.ca/fr/recherche/resultats-de-recherche/?query="
106
- },
107
- "logoLink": {
108
- "en": "https://www.ontario.ca/page/government-ontario",
109
- "fr": "https://www.ontario.ca/fr/page/gouvernement-de-lontario"
110
- },
111
- "logoAltText": {
112
- "en": "Ontario.ca homepage",
113
- "fr": "Page d’accueil Ontario.ca"
114
- },
115
- "clearSearchField": {
116
- "en": "Clear field",
117
- "fr": "Vider le champ"
118
- },
119
- "submit": {
120
- "en": "Submit",
121
- "fr": "Soumission"
122
- },
123
- "search": {
124
- "en": "Search",
125
- "fr": "Rechercher"
126
- },
127
- "serviceOntario": {
128
- "en": "ServiceOntario",
129
- "fr": "ServiceOntario"
130
- },
131
- "openMenu": {
132
- "en": "Show navigation menu",
133
- "fr": "Ouvrir le menu de navigation"
134
- },
135
- "closeMenu": {
136
- "en": "Hide navigation menu",
137
- "fr": "Fermer le menu de navigation"
138
- },
139
- "close": {
140
- "en": "close",
141
- "fr": "fermer"
40
+ "backToTop": {
41
+ "ariaLabel": {
42
+ "en": "Scroll back to the top",
43
+ "fr": "Retour en haut de la page"
142
44
  },
143
- "closeSearch": {
144
- "en": "Close search bar",
145
- "fr": "Fermer la barre de recherche"
45
+ "top": {
46
+ "en": "Top",
47
+ "fr": "Haut"
146
48
  }
147
49
  },
148
- "input": {
149
- "requiredFieldError": {
150
- "en": "This is a required field.",
151
- "fr": "Ce champ est obligatoire."
152
- }
50
+ "contactUs": {
51
+ "en": "Contact us",
52
+ "fr": "Contactez-nous"
153
53
  },
154
54
  "dateInput": {
155
55
  "caption": {
@@ -157,43 +57,23 @@
157
57
  "fr": "Dates exactes"
158
58
  },
159
59
  "day": {
160
- "label": {
161
- "en": "Day",
162
- "fr": "Jour"
163
- },
164
60
  "accessibility": {
165
61
  "en": "4 digits",
166
62
  "fr": "4 chiffres"
167
- }
168
- },
169
- "month": {
170
- "label": {
171
- "en": "Month",
172
- "fr": "Mois"
173
63
  },
174
- "accessibility": {
175
- "en": "1 or 2 digits",
176
- "fr": "1 ou 2 chiffres"
177
- }
178
- },
179
- "year": {
180
64
  "label": {
181
- "en": "Year",
182
- "fr": "Année"
183
- },
184
- "accessibility": {
185
- "en": "1 or 2 digits",
186
- "fr": "1 ou 2 chiffres"
65
+ "en": "Day",
66
+ "fr": "Jour"
187
67
  }
188
68
  },
189
69
  "error": {
190
70
  "en": {
191
71
  "emptyDay": "Enter the day.",
192
- "emptyMonth": "Enter the month.",
193
- "emptyYear": "Enter the year.",
194
72
  "emptyDayAndMonth": "Enter the month and day.",
195
73
  "emptyDayAndYear": "Enter the year and day.",
74
+ "emptyMonth": "Enter the month.",
196
75
  "emptyMonthAndYear": "Enter the year and month.",
76
+ "emptyYear": "Enter the year.",
197
77
  "invalidDate": "Enter a valid date.",
198
78
  "invalidDay": "Enter a valid day.",
199
79
  "invalidMonth": "Enter a valid month.",
@@ -201,30 +81,160 @@
201
81
  },
202
82
  "fr": {
203
83
  "emptyDay": "Saisissez le jour.",
204
- "emptyMonth": "Saisissez le mois.",
205
- "emptyYear": "Saisissez l’année.",
206
84
  "emptyDayAndMonth": "Saisissez le mois et le jour.",
207
85
  "emptyDayAndYear": "Saisissez l’année et le jour.",
86
+ "emptyMonth": "Saisissez le mois.",
208
87
  "emptyMonthAndYear": "Saisissez l’année et le mois.",
88
+ "emptyYear": "Saisissez l’année.",
209
89
  "invalidDate": "Saisissez une date valide.",
210
90
  "invalidDay": "Saisissez un jour valide.",
211
91
  "invalidMonth": "Saisissez un mois valide.",
212
92
  "invalidYear": "Saisissez une année valide."
213
93
  }
94
+ },
95
+ "month": {
96
+ "accessibility": {
97
+ "en": "1 or 2 digits",
98
+ "fr": "1 ou 2 chiffres"
99
+ },
100
+ "label": {
101
+ "en": "Month",
102
+ "fr": "Mois"
103
+ }
104
+ },
105
+ "year": {
106
+ "accessibility": {
107
+ "en": "1 or 2 digits",
108
+ "fr": "1 ou 2 chiffres"
109
+ },
110
+ "label": {
111
+ "en": "Year",
112
+ "fr": "Année"
113
+ }
214
114
  }
215
115
  },
216
- "accordion": {
217
- "expand": {
218
- "en": "Expand all",
219
- "fr": "Agrandir tout"
116
+ "dropdownList": {
117
+ "select": {
118
+ "en": "Select",
119
+ "fr": "Sélectionner"
120
+ }
121
+ },
122
+ "header": {
123
+ "clearSearchField": {
124
+ "en": "Clear field",
125
+ "fr": "Vider le champ"
220
126
  },
221
- "collapse": {
222
- "en": "Collapse all",
223
- "fr": "Réduire tout"
127
+ "close": {
128
+ "en": "close",
129
+ "fr": "fermer"
224
130
  },
225
- "expandCollapseAriaLabel": {
226
- "en": "Expand or collapse the accordion",
227
- "fr": "Agrandissez ou réduisez l'accordéon"
131
+ "closeMenu": {
132
+ "en": "Hide navigation menu",
133
+ "fr": "Fermer le menu de navigation"
134
+ },
135
+ "closeSearch": {
136
+ "en": "Close search bar",
137
+ "fr": "Fermer la barre de recherche"
138
+ },
139
+ "logoAltText": {
140
+ "en": "Ontario.ca homepage",
141
+ "fr": "Page d’accueil Ontario.ca"
142
+ },
143
+ "logoLink": {
144
+ "en": "https://www.ontario.ca/page/government-ontario",
145
+ "fr": "https://www.ontario.ca/fr/page/gouvernement-de-lontario"
146
+ },
147
+ "ontarioSearchURL": {
148
+ "en": "https://www.ontario.ca/search/search-results?query=",
149
+ "fr": "https://www.ontario.ca/fr/recherche/resultats-de-recherche/?query="
150
+ },
151
+ "openMenu": {
152
+ "en": "Show navigation menu",
153
+ "fr": "Ouvrir le menu de navigation"
154
+ },
155
+ "search": {
156
+ "en": "Search",
157
+ "fr": "Rechercher"
158
+ },
159
+ "serviceOntario": {
160
+ "en": "ServiceOntario",
161
+ "fr": "ServiceOntario"
162
+ },
163
+ "submit": {
164
+ "en": "Submit",
165
+ "fr": "Soumission"
166
+ }
167
+ },
168
+ "input": {
169
+ "requiredFieldError": {
170
+ "en": "This is a required field.",
171
+ "fr": "Ce champ est obligatoire."
172
+ }
173
+ },
174
+ "languageToggle": {
175
+ "ariaLabel": {
176
+ "en": "Click to switch the language to English",
177
+ "fr": "Cliquez pour changer la langue en français"
178
+ }
179
+ },
180
+ "loading": {
181
+ "en": "Loading",
182
+ "fr": "Chargement"
183
+ },
184
+ "optional": {
185
+ "en": "optional",
186
+ "fr": "facultative"
187
+ },
188
+ "printerLink": {
189
+ "link": {
190
+ "en": "https://www.ontario.ca/page/copyright-information",
191
+ "fr": "https://www.ontario.ca/fr/page/droits-dauteur"
192
+ },
193
+ "text": {
194
+ "en": "King's Printer for Ontario,",
195
+ "fr": "Imprimeur du Roi pour l’Ontario,"
196
+ }
197
+ },
198
+ "privacyLink": {
199
+ "link": {
200
+ "en": "https://www.ontario.ca/page/privacy-statement",
201
+ "fr": "https://www.ontario.ca/fr/page/declaration-concernant-la-protection-de-la-vie-privee"
202
+ },
203
+ "text": {
204
+ "en": "Privacy",
205
+ "fr": "Confidentialité"
206
+ }
207
+ },
208
+ "stepIndicator": {
209
+ "back": {
210
+ "en": "Back",
211
+ "fr": "Retour"
212
+ },
213
+ "complete": {
214
+ "en": "complete",
215
+ "fr": "complet"
216
+ },
217
+ "of": {
218
+ "en": "of",
219
+ "fr": "sur"
220
+ },
221
+ "step": {
222
+ "en": "Step",
223
+ "fr": "Étape"
224
+ }
225
+ },
226
+ "siteLanguage": {
227
+ "fullWord": {
228
+ "en": "English",
229
+ "fr": "Français"
230
+ },
231
+ "abbreviation": {
232
+ "en": "en",
233
+ "fr": "fr"
228
234
  }
235
+ },
236
+ "required": {
237
+ "en": "required",
238
+ "fr": "obligatoire"
229
239
  }
230
240
  }
@@ -1 +1,2 @@
1
- export type Language = 'en' | 'fr';
1
+ export const supportedLanguages = ['en', 'fr'] as const;
2
+ export type Language = (typeof supportedLanguages)[number];
@@ -0,0 +1,2 @@
1
+ export const conjunctions = ['and', 'or'] as const;
2
+ export type Conjunction = (typeof conjunctions)[number];
@@ -1,3 +1,5 @@
1
+ import { Conjunction } from './utils-types';
2
+
1
3
  export function format(first: string | undefined, middle: string | undefined, last: string | undefined): string {
2
4
  return (first || '') + (middle ? ` ${middle}` : '') + (last ? ` ${last}` : '');
3
5
  }
@@ -82,3 +84,31 @@ export function isEmpty(str: string | undefined | null): boolean {
82
84
  export function retrieveEnumKeys(enumObject: object): string[] {
83
85
  return Object.keys(enumObject).filter(isNumber);
84
86
  }
87
+
88
+ /**
89
+ * Prints an array as a comma delimited list, with the last element being preceded by a conjunction.
90
+ * As per ontario.ca content guidelines, there is no Oxford comma.
91
+ *
92
+ * @param {Array<any>} arr - The array that you wish to print.
93
+ * @param {Conjunction} conjunctionType - Whether you want the sentence to end with 'and value.' or 'or value.'
94
+ *
95
+ * @returns {string}
96
+ */
97
+ export function printArray(arr: Array<any>, conjunctionType: Conjunction = 'and'): string {
98
+ return [...arr].reduce(
99
+ (text, value, i, array) => text + (i < array.length - 1 ? ', ' : ` ${conjunctionType} `) + value,
100
+ );
101
+ }
102
+
103
+ /**
104
+ * Grabs the HTML element of the page.
105
+ *
106
+ * More targetted than document.documentElement as the documentElement could
107
+ * in theory be any element that is the top level. e.g. <div> if the page is not
108
+ * set up to be semantically correct.
109
+ *
110
+ * @returns {HTMLElement}
111
+ */
112
+ export function getRootHTMLElement(): HTMLElement {
113
+ return document.getElementsByTagName('html')[0];
114
+ }