vuetify 3.3.21 → 3.3.23

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 (67) hide show
  1. package/dist/json/attributes.json +228 -24
  2. package/dist/json/importMap-labs.json +4 -4
  3. package/dist/json/tags.json +57 -3
  4. package/dist/json/web-types.json +909 -39
  5. package/dist/vuetify-labs.css +5831 -5824
  6. package/dist/vuetify-labs.d.ts +205 -19
  7. package/dist/vuetify-labs.esm.js +95 -50
  8. package/dist/vuetify-labs.esm.js.map +1 -1
  9. package/dist/vuetify-labs.js +94 -49
  10. package/dist/vuetify-labs.min.css +2 -2
  11. package/dist/vuetify.css +5191 -5187
  12. package/dist/vuetify.d.ts +1 -1
  13. package/dist/vuetify.esm.js +62 -36
  14. package/dist/vuetify.esm.js.map +1 -1
  15. package/dist/vuetify.js +61 -35
  16. package/dist/vuetify.js.map +1 -1
  17. package/dist/vuetify.min.css +2 -2
  18. package/dist/vuetify.min.js +813 -813
  19. package/dist/vuetify.min.js.map +1 -1
  20. package/lib/components/VAutocomplete/VAutocomplete.css +1 -1
  21. package/lib/components/VAutocomplete/VAutocomplete.mjs +13 -10
  22. package/lib/components/VAutocomplete/VAutocomplete.mjs.map +1 -1
  23. package/lib/components/VAutocomplete/VAutocomplete.sass +2 -2
  24. package/lib/components/VAutocomplete/_variables.scss +1 -0
  25. package/lib/components/VCard/VCard.css +3 -1
  26. package/lib/components/VCard/VCard.sass +2 -1
  27. package/lib/components/VCard/_variables.scss +7 -5
  28. package/lib/components/VCombobox/VCombobox.mjs +14 -11
  29. package/lib/components/VCombobox/VCombobox.mjs.map +1 -1
  30. package/lib/components/VList/VListItem.css +0 -4
  31. package/lib/components/VList/VListItem.sass +0 -5
  32. package/lib/components/VNavigationDrawer/VNavigationDrawer.css +6 -0
  33. package/lib/components/VNavigationDrawer/VNavigationDrawer.sass +5 -0
  34. package/lib/components/VSelect/VSelect.mjs +13 -10
  35. package/lib/components/VSelect/VSelect.mjs.map +1 -1
  36. package/lib/components/VToolbar/_variables.scss +6 -3
  37. package/lib/composables/color.mjs +2 -2
  38. package/lib/composables/color.mjs.map +1 -1
  39. package/lib/entry-bundler.mjs +1 -1
  40. package/lib/framework.mjs +1 -1
  41. package/lib/index.d.mts +1 -1
  42. package/lib/labs/VDataTable/VDataTable.css +0 -6
  43. package/lib/labs/VDataTable/VDataTable.sass +0 -1
  44. package/lib/labs/VStepper/VStepper.css +9 -0
  45. package/lib/labs/VStepper/VStepper.mjs +1 -2
  46. package/lib/labs/VStepper/VStepper.mjs.map +1 -1
  47. package/lib/labs/VStepper/VStepper.sass +17 -8
  48. package/lib/labs/VStepper/VStepperActions.mjs +34 -13
  49. package/lib/labs/VStepper/VStepperActions.mjs.map +1 -1
  50. package/lib/labs/VStepper/VStepperItem.mjs.map +1 -1
  51. package/lib/labs/VStepper/VStepperItem.sass +15 -15
  52. package/lib/labs/VStepper/_variables.scss +24 -1
  53. package/lib/labs/VStepper/index.d.mts +205 -19
  54. package/lib/labs/components.d.mts +205 -19
  55. package/lib/labs/date/adapters/vuetify.mjs +6 -3
  56. package/lib/labs/date/adapters/vuetify.mjs.map +1 -1
  57. package/lib/locale/de.mjs +20 -20
  58. package/lib/locale/de.mjs.map +1 -1
  59. package/lib/locale/fr.mjs +19 -19
  60. package/lib/locale/fr.mjs.map +1 -1
  61. package/lib/locale/nl.mjs +22 -22
  62. package/lib/locale/nl.mjs.map +1 -1
  63. package/lib/util/colorUtils.mjs +3 -0
  64. package/lib/util/colorUtils.mjs.map +1 -1
  65. package/lib/util/helpers.mjs +12 -1
  66. package/lib/util/helpers.mjs.map +1 -1
  67. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"de.mjs","names":["badge","open","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","dateRangeInput","divider","datePicker","ok","cancel","range","title","header","input","placeholder","noDataText","carousel","prev","next","delimiter","calendar","moreEvents","clear","prependAction","appendAction","otp","fileInput","counter","counterSize","timePicker","am","pm","pagination","root","previous","page","currentPage","first","last","stepper","rating","item","loading","infiniteScroll","loadMore","empty"],"sources":["../../src/locale/de.ts"],"sourcesContent":["export default {\n badge: 'Abzeichen',\n open: 'Open',\n close: 'Schließen',\n dataIterator: {\n noResultsText: 'Keine Elemente gefunden',\n loadingText: 'Lade Elemente...',\n },\n dataTable: {\n itemsPerPageText: 'Zeilen pro Seite:',\n ariaLabel: {\n sortDescending: 'Absteigend sortiert.',\n sortAscending: 'Aufsteigend sortiert.',\n sortNone: 'Nicht sortiert.',\n activateNone: 'Aktivieren um Sortierung zu entfernen.',\n activateDescending: 'Aktivieren um absteigend zu sortieren.',\n activateAscending: 'Aktivieren um aufsteigend zu sortieren.',\n },\n sortBy: 'Sortiere nach',\n },\n dataFooter: {\n itemsPerPageText: 'Elemente pro Seite:',\n itemsPerPageAll: 'Alle',\n nextPage: 'Nächste Seite',\n prevPage: 'Vorherige Seite',\n firstPage: 'Erste Seite',\n lastPage: 'Letzte Seite',\n pageText: '{0}-{1} von {2}',\n },\n dateRangeInput: {\n divider: 'to',\n },\n datePicker: {\n ok: 'OK',\n cancel: 'Cancel',\n range: {\n title: 'Select dates',\n header: 'Enter dates',\n },\n title: 'Select date',\n header: 'Enter date',\n input: {\n placeholder: 'Enter date',\n },\n },\n noDataText: 'Keine Daten vorhanden',\n carousel: {\n prev: 'Vorheriges Bild',\n next: 'Nächstes Bild',\n ariaLabel: {\n delimiter: 'Element {0} von {1}',\n },\n },\n calendar: {\n moreEvents: '{0} mehr',\n },\n input: {\n clear: 'Clear {0}',\n prependAction: '{0} prepended action',\n appendAction: '{0} appended action',\n otp: 'Please enter OTP character {0}',\n },\n fileInput: {\n counter: '{0} Dateien',\n counterSize: '{0} Dateien ({1} gesamt)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Seitennavigation',\n next: 'Nächste Seite',\n previous: 'Vorherige Seite',\n page: 'Gehe zu Seite {0}',\n currentPage: 'Aktuelle Seite, Seite {0}',\n first: 'First page',\n last: 'Last page',\n },\n },\n stepper: {\n next: 'Next',\n prev: 'Previous',\n },\n rating: {\n ariaLabel: {\n item: 'Rating {0} of {1}',\n },\n },\n loading: 'Loading...',\n infiniteScroll: {\n loadMore: 'Load more',\n empty: 'No more',\n },\n}\n"],"mappings":"AAAA,eAAe;EACbA,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,WAAW;EAClBC,YAAY,EAAE;IACZC,aAAa,EAAE,yBAAyB;IACxCC,WAAW,EAAE;EACf,CAAC;EACDC,SAAS,EAAE;IACTC,gBAAgB,EAAE,mBAAmB;IACrCC,SAAS,EAAE;MACTC,cAAc,EAAE,sBAAsB;MACtCC,aAAa,EAAE,uBAAuB;MACtCC,QAAQ,EAAE,iBAAiB;MAC3BC,YAAY,EAAE,wCAAwC;MACtDC,kBAAkB,EAAE,wCAAwC;MAC5DC,iBAAiB,EAAE;IACrB,CAAC;IACDC,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVT,gBAAgB,EAAE,qBAAqB;IACvCU,eAAe,EAAE,MAAM;IACvBC,QAAQ,EAAE,eAAe;IACzBC,QAAQ,EAAE,iBAAiB;IAC3BC,SAAS,EAAE,aAAa;IACxBC,QAAQ,EAAE,cAAc;IACxBC,QAAQ,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE;IACdC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,MAAM,EAAE,QAAQ;IAChBC,KAAK,EAAE;MACLC,KAAK,EAAE,cAAc;MACrBC,MAAM,EAAE;IACV,CAAC;IACDD,KAAK,EAAE,aAAa;IACpBC,MAAM,EAAE,YAAY;IACpBC,KAAK,EAAE;MACLC,WAAW,EAAE;IACf;EACF,CAAC;EACDC,UAAU,EAAE,uBAAuB;EACnCC,QAAQ,EAAE;IACRC,IAAI,EAAE,iBAAiB;IACvBC,IAAI,EAAE,eAAe;IACrB5B,SAAS,EAAE;MACT6B,SAAS,EAAE;IACb;EACF,CAAC;EACDC,QAAQ,EAAE;IACRC,UAAU,EAAE;EACd,CAAC;EACDR,KAAK,EAAE;IACLS,KAAK,EAAE,WAAW;IAClBC,aAAa,EAAE,sBAAsB;IACrCC,YAAY,EAAE,qBAAqB;IACnCC,GAAG,EAAE;EACP,CAAC;EACDC,SAAS,EAAE;IACTC,OAAO,EAAE,aAAa;IACtBC,WAAW,EAAE;EACf,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,EAAE,EAAE;EACN,CAAC;EACDC,UAAU,EAAE;IACV1C,SAAS,EAAE;MACT2C,IAAI,EAAE,kBAAkB;MACxBf,IAAI,EAAE,eAAe;MACrBgB,QAAQ,EAAE,iBAAiB;MAC3BC,IAAI,EAAE,mBAAmB;MACzBC,WAAW,EAAE,2BAA2B;MACxCC,KAAK,EAAE,YAAY;MACnBC,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE;IACPrB,IAAI,EAAE,MAAM;IACZD,IAAI,EAAE;EACR,CAAC;EACDuB,MAAM,EAAE;IACNlD,SAAS,EAAE;MACTmD,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE,YAAY;EACrBC,cAAc,EAAE;IACdC,QAAQ,EAAE,WAAW;IACrBC,KAAK,EAAE;EACT;AACF,CAAC"}
1
+ {"version":3,"file":"de.mjs","names":["badge","open","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","dateRangeInput","divider","datePicker","ok","cancel","range","title","header","input","placeholder","noDataText","carousel","prev","next","delimiter","calendar","moreEvents","clear","prependAction","appendAction","otp","fileInput","counter","counterSize","timePicker","am","pm","pagination","root","previous","page","currentPage","first","last","stepper","rating","item","loading","infiniteScroll","loadMore","empty"],"sources":["../../src/locale/de.ts"],"sourcesContent":["export default {\n badge: 'Abzeichen',\n open: 'Öffnen',\n close: 'Schließen',\n dataIterator: {\n noResultsText: 'Keine Elemente gefunden',\n loadingText: 'Lade Elemente...',\n },\n dataTable: {\n itemsPerPageText: 'Zeilen pro Seite:',\n ariaLabel: {\n sortDescending: 'Absteigend sortiert.',\n sortAscending: 'Aufsteigend sortiert.',\n sortNone: 'Nicht sortiert.',\n activateNone: 'Aktivieren um Sortierung zu entfernen.',\n activateDescending: 'Aktivieren um absteigend zu sortieren.',\n activateAscending: 'Aktivieren um aufsteigend zu sortieren.',\n },\n sortBy: 'Sortiere nach',\n },\n dataFooter: {\n itemsPerPageText: 'Elemente pro Seite:',\n itemsPerPageAll: 'Alle',\n nextPage: 'Nächste Seite',\n prevPage: 'Vorherige Seite',\n firstPage: 'Erste Seite',\n lastPage: 'Letzte Seite',\n pageText: '{0}-{1} von {2}',\n },\n dateRangeInput: {\n divider: 'bis',\n },\n datePicker: {\n ok: 'OK',\n cancel: 'Abbrechen',\n range: {\n title: 'Daten auswählen',\n header: 'Daten eingeben',\n },\n title: 'Datum auswählen',\n header: 'Datum eingeben',\n input: {\n placeholder: 'Datum eingeben',\n },\n },\n noDataText: 'Keine Daten vorhanden',\n carousel: {\n prev: 'Vorheriges Bild',\n next: 'Nächstes Bild',\n ariaLabel: {\n delimiter: 'Element {0} von {1}',\n },\n },\n calendar: {\n moreEvents: '{0} mehr',\n },\n input: {\n clear: '{0} leeren',\n prependAction: '{0} vorangestellte Aktion',\n appendAction: '{0} angehängte Aktion',\n otp: 'Bitte OTP-Zeichen {0} eingeben',\n },\n fileInput: {\n counter: '{0} Dateien',\n counterSize: '{0} Dateien ({1} gesamt)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Seitennavigation',\n next: 'Nächste Seite',\n previous: 'Vorherige Seite',\n page: 'Gehe zu Seite {0}',\n currentPage: 'Aktuelle Seite, Seite {0}',\n first: 'Erste Seite',\n last: 'Letzte Seite',\n },\n },\n stepper: {\n next: 'Weiter',\n prev: 'Zurück',\n },\n rating: {\n ariaLabel: {\n item: 'Bewertung {0} von {1}',\n },\n },\n loading: 'Laden...',\n infiniteScroll: {\n loadMore: 'Mehr laden',\n empty: 'Nichts weiteres',\n },\n}\n"],"mappings":"AAAA,eAAe;EACbA,KAAK,EAAE,WAAW;EAClBC,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE,WAAW;EAClBC,YAAY,EAAE;IACZC,aAAa,EAAE,yBAAyB;IACxCC,WAAW,EAAE;EACf,CAAC;EACDC,SAAS,EAAE;IACTC,gBAAgB,EAAE,mBAAmB;IACrCC,SAAS,EAAE;MACTC,cAAc,EAAE,sBAAsB;MACtCC,aAAa,EAAE,uBAAuB;MACtCC,QAAQ,EAAE,iBAAiB;MAC3BC,YAAY,EAAE,wCAAwC;MACtDC,kBAAkB,EAAE,wCAAwC;MAC5DC,iBAAiB,EAAE;IACrB,CAAC;IACDC,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVT,gBAAgB,EAAE,qBAAqB;IACvCU,eAAe,EAAE,MAAM;IACvBC,QAAQ,EAAE,eAAe;IACzBC,QAAQ,EAAE,iBAAiB;IAC3BC,SAAS,EAAE,aAAa;IACxBC,QAAQ,EAAE,cAAc;IACxBC,QAAQ,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE;IACdC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,MAAM,EAAE,WAAW;IACnBC,KAAK,EAAE;MACLC,KAAK,EAAE,iBAAiB;MACxBC,MAAM,EAAE;IACV,CAAC;IACDD,KAAK,EAAE,iBAAiB;IACxBC,MAAM,EAAE,gBAAgB;IACxBC,KAAK,EAAE;MACLC,WAAW,EAAE;IACf;EACF,CAAC;EACDC,UAAU,EAAE,uBAAuB;EACnCC,QAAQ,EAAE;IACRC,IAAI,EAAE,iBAAiB;IACvBC,IAAI,EAAE,eAAe;IACrB5B,SAAS,EAAE;MACT6B,SAAS,EAAE;IACb;EACF,CAAC;EACDC,QAAQ,EAAE;IACRC,UAAU,EAAE;EACd,CAAC;EACDR,KAAK,EAAE;IACLS,KAAK,EAAE,YAAY;IACnBC,aAAa,EAAE,2BAA2B;IAC1CC,YAAY,EAAE,uBAAuB;IACrCC,GAAG,EAAE;EACP,CAAC;EACDC,SAAS,EAAE;IACTC,OAAO,EAAE,aAAa;IACtBC,WAAW,EAAE;EACf,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,EAAE,EAAE;EACN,CAAC;EACDC,UAAU,EAAE;IACV1C,SAAS,EAAE;MACT2C,IAAI,EAAE,kBAAkB;MACxBf,IAAI,EAAE,eAAe;MACrBgB,QAAQ,EAAE,iBAAiB;MAC3BC,IAAI,EAAE,mBAAmB;MACzBC,WAAW,EAAE,2BAA2B;MACxCC,KAAK,EAAE,aAAa;MACpBC,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE;IACPrB,IAAI,EAAE,QAAQ;IACdD,IAAI,EAAE;EACR,CAAC;EACDuB,MAAM,EAAE;IACNlD,SAAS,EAAE;MACTmD,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE,UAAU;EACnBC,cAAc,EAAE;IACdC,QAAQ,EAAE,YAAY;IACtBC,KAAK,EAAE;EACT;AACF,CAAC"}
package/lib/locale/fr.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  badge: 'Badge',
3
- open: 'Open',
3
+ open: 'Ouvrir',
4
4
  close: 'Fermer',
5
5
  dataIterator: {
6
6
  noResultsText: 'Aucun enregistrement correspondant trouvé',
@@ -28,19 +28,19 @@ export default {
28
28
  pageText: '{0}-{1} de {2}'
29
29
  },
30
30
  dateRangeInput: {
31
- divider: 'to'
31
+ divider: 'à'
32
32
  },
33
33
  datePicker: {
34
34
  ok: 'OK',
35
- cancel: 'Cancel',
35
+ cancel: 'Annuler',
36
36
  range: {
37
- title: 'Select dates',
38
- header: 'Enter dates'
37
+ title: 'Sélectionner des dates',
38
+ header: 'Entrer des dates'
39
39
  },
40
- title: 'Select date',
41
- header: 'Enter date',
40
+ title: 'Sélectionner une date',
41
+ header: 'Entrer une date',
42
42
  input: {
43
- placeholder: 'Enter date'
43
+ placeholder: 'Entrer une date'
44
44
  }
45
45
  },
46
46
  noDataText: 'Aucune donnée disponible',
@@ -55,10 +55,10 @@ export default {
55
55
  moreEvents: '{0} de plus'
56
56
  },
57
57
  input: {
58
- clear: 'Clear {0}',
59
- prependAction: '{0} prepended action',
60
- appendAction: '{0} appended action',
61
- otp: 'Please enter OTP character {0}'
58
+ clear: 'Vider {0}',
59
+ prependAction: '{0} action avant',
60
+ appendAction: '{0} action après',
61
+ otp: 'Caractère {0} du mot de passe à usage unique'
62
62
  },
63
63
  fileInput: {
64
64
  counter: '{0} fichier(s)',
@@ -75,23 +75,23 @@ export default {
75
75
  previous: 'Page précédente',
76
76
  page: 'Aller à la page {0}',
77
77
  currentPage: 'Page actuelle, Page {0}',
78
- first: 'First page',
79
- last: 'Last page'
78
+ first: 'Première page',
79
+ last: 'Dernière page'
80
80
  }
81
81
  },
82
82
  stepper: {
83
- next: 'Next',
84
- prev: 'Previous'
83
+ next: 'Suivant',
84
+ prev: 'Précédent'
85
85
  },
86
86
  rating: {
87
87
  ariaLabel: {
88
88
  item: 'Note de {0} sur {1}'
89
89
  }
90
90
  },
91
- loading: 'Loading...',
91
+ loading: 'Chargement...',
92
92
  infiniteScroll: {
93
- loadMore: 'Load more',
94
- empty: 'No more'
93
+ loadMore: 'Charger plus',
94
+ empty: 'Aucune donnée supplémentaire'
95
95
  }
96
96
  };
97
97
  //# sourceMappingURL=fr.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"fr.mjs","names":["badge","open","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","dateRangeInput","divider","datePicker","ok","cancel","range","title","header","input","placeholder","noDataText","carousel","prev","next","delimiter","calendar","moreEvents","clear","prependAction","appendAction","otp","fileInput","counter","counterSize","timePicker","am","pm","pagination","root","previous","page","currentPage","first","last","stepper","rating","item","loading","infiniteScroll","loadMore","empty"],"sources":["../../src/locale/fr.ts"],"sourcesContent":["export default {\n badge: 'Badge',\n open: 'Open',\n close: 'Fermer',\n dataIterator: {\n noResultsText: 'Aucun enregistrement correspondant trouvé',\n loadingText: `Chargement de l'élément...`,\n },\n dataTable: {\n itemsPerPageText: 'Lignes par page :',\n ariaLabel: {\n sortDescending: 'Tri décroissant.',\n sortAscending: 'Tri croissant.',\n sortNone: 'Non trié.',\n activateNone: 'Activer pour supprimer le tri.',\n activateDescending: 'Activer pour trier par ordre décroissant.',\n activateAscending: 'Activer pour trier par ordre croissant.',\n },\n sortBy: 'Trier par',\n },\n dataFooter: {\n itemsPerPageText: 'Élements par page :',\n itemsPerPageAll: 'Tous',\n nextPage: 'Page suivante',\n prevPage: 'Page précédente',\n firstPage: 'Première page',\n lastPage: 'Dernière page',\n pageText: '{0}-{1} de {2}',\n },\n dateRangeInput: {\n divider: 'to',\n },\n datePicker: {\n ok: 'OK',\n cancel: 'Cancel',\n range: {\n title: 'Select dates',\n header: 'Enter dates',\n },\n title: 'Select date',\n header: 'Enter date',\n input: {\n placeholder: 'Enter date',\n },\n },\n noDataText: 'Aucune donnée disponible',\n carousel: {\n prev: 'Visuel précédent',\n next: 'Visuel suivant',\n ariaLabel: {\n delimiter: 'Diapositive {0} de {1}',\n },\n },\n calendar: {\n moreEvents: '{0} de plus',\n },\n input: {\n clear: 'Clear {0}',\n prependAction: '{0} prepended action',\n appendAction: '{0} appended action',\n otp: 'Please enter OTP character {0}',\n },\n fileInput: {\n counter: '{0} fichier(s)',\n counterSize: '{0} fichier(s) ({1} au total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Navigation de pagination',\n next: 'Page suivante',\n previous: 'Page précédente',\n page: 'Aller à la page {0}',\n currentPage: 'Page actuelle, Page {0}',\n first: 'First page',\n last: 'Last page',\n },\n },\n stepper: {\n next: 'Next',\n prev: 'Previous',\n },\n rating: {\n ariaLabel: {\n item: 'Note de {0} sur {1}',\n },\n },\n loading: 'Loading...',\n infiniteScroll: {\n loadMore: 'Load more',\n empty: 'No more',\n },\n}\n"],"mappings":"AAAA,eAAe;EACbA,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,QAAQ;EACfC,YAAY,EAAE;IACZC,aAAa,EAAE,2CAA2C;IAC1DC,WAAW,EAAG;EAChB,CAAC;EACDC,SAAS,EAAE;IACTC,gBAAgB,EAAE,mBAAmB;IACrCC,SAAS,EAAE;MACTC,cAAc,EAAE,kBAAkB;MAClCC,aAAa,EAAE,gBAAgB;MAC/BC,QAAQ,EAAE,WAAW;MACrBC,YAAY,EAAE,gCAAgC;MAC9CC,kBAAkB,EAAE,2CAA2C;MAC/DC,iBAAiB,EAAE;IACrB,CAAC;IACDC,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVT,gBAAgB,EAAE,qBAAqB;IACvCU,eAAe,EAAE,MAAM;IACvBC,QAAQ,EAAE,eAAe;IACzBC,QAAQ,EAAE,iBAAiB;IAC3BC,SAAS,EAAE,eAAe;IAC1BC,QAAQ,EAAE,eAAe;IACzBC,QAAQ,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE;IACdC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,MAAM,EAAE,QAAQ;IAChBC,KAAK,EAAE;MACLC,KAAK,EAAE,cAAc;MACrBC,MAAM,EAAE;IACV,CAAC;IACDD,KAAK,EAAE,aAAa;IACpBC,MAAM,EAAE,YAAY;IACpBC,KAAK,EAAE;MACLC,WAAW,EAAE;IACf;EACF,CAAC;EACDC,UAAU,EAAE,0BAA0B;EACtCC,QAAQ,EAAE;IACRC,IAAI,EAAE,kBAAkB;IACxBC,IAAI,EAAE,gBAAgB;IACtB5B,SAAS,EAAE;MACT6B,SAAS,EAAE;IACb;EACF,CAAC;EACDC,QAAQ,EAAE;IACRC,UAAU,EAAE;EACd,CAAC;EACDR,KAAK,EAAE;IACLS,KAAK,EAAE,WAAW;IAClBC,aAAa,EAAE,sBAAsB;IACrCC,YAAY,EAAE,qBAAqB;IACnCC,GAAG,EAAE;EACP,CAAC;EACDC,SAAS,EAAE;IACTC,OAAO,EAAE,gBAAgB;IACzBC,WAAW,EAAE;EACf,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,EAAE,EAAE;EACN,CAAC;EACDC,UAAU,EAAE;IACV1C,SAAS,EAAE;MACT2C,IAAI,EAAE,0BAA0B;MAChCf,IAAI,EAAE,eAAe;MACrBgB,QAAQ,EAAE,iBAAiB;MAC3BC,IAAI,EAAE,qBAAqB;MAC3BC,WAAW,EAAE,yBAAyB;MACtCC,KAAK,EAAE,YAAY;MACnBC,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE;IACPrB,IAAI,EAAE,MAAM;IACZD,IAAI,EAAE;EACR,CAAC;EACDuB,MAAM,EAAE;IACNlD,SAAS,EAAE;MACTmD,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE,YAAY;EACrBC,cAAc,EAAE;IACdC,QAAQ,EAAE,WAAW;IACrBC,KAAK,EAAE;EACT;AACF,CAAC"}
1
+ {"version":3,"file":"fr.mjs","names":["badge","open","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","dateRangeInput","divider","datePicker","ok","cancel","range","title","header","input","placeholder","noDataText","carousel","prev","next","delimiter","calendar","moreEvents","clear","prependAction","appendAction","otp","fileInput","counter","counterSize","timePicker","am","pm","pagination","root","previous","page","currentPage","first","last","stepper","rating","item","loading","infiniteScroll","loadMore","empty"],"sources":["../../src/locale/fr.ts"],"sourcesContent":["export default {\n badge: 'Badge',\n open: 'Ouvrir',\n close: 'Fermer',\n dataIterator: {\n noResultsText: 'Aucun enregistrement correspondant trouvé',\n loadingText: `Chargement de l'élément...`,\n },\n dataTable: {\n itemsPerPageText: 'Lignes par page :',\n ariaLabel: {\n sortDescending: 'Tri décroissant.',\n sortAscending: 'Tri croissant.',\n sortNone: 'Non trié.',\n activateNone: 'Activer pour supprimer le tri.',\n activateDescending: 'Activer pour trier par ordre décroissant.',\n activateAscending: 'Activer pour trier par ordre croissant.',\n },\n sortBy: 'Trier par',\n },\n dataFooter: {\n itemsPerPageText: 'Élements par page :',\n itemsPerPageAll: 'Tous',\n nextPage: 'Page suivante',\n prevPage: 'Page précédente',\n firstPage: 'Première page',\n lastPage: 'Dernière page',\n pageText: '{0}-{1} de {2}',\n },\n dateRangeInput: {\n divider: 'à',\n },\n datePicker: {\n ok: 'OK',\n cancel: 'Annuler',\n range: {\n title: 'Sélectionner des dates',\n header: 'Entrer des dates',\n },\n title: 'Sélectionner une date',\n header: 'Entrer une date',\n input: {\n placeholder: 'Entrer une date',\n },\n },\n noDataText: 'Aucune donnée disponible',\n carousel: {\n prev: 'Visuel précédent',\n next: 'Visuel suivant',\n ariaLabel: {\n delimiter: 'Diapositive {0} de {1}',\n },\n },\n calendar: {\n moreEvents: '{0} de plus',\n },\n input: {\n clear: 'Vider {0}',\n prependAction: '{0} action avant',\n appendAction: '{0} action après',\n otp: 'Caractère {0} du mot de passe à usage unique',\n },\n fileInput: {\n counter: '{0} fichier(s)',\n counterSize: '{0} fichier(s) ({1} au total)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Navigation de pagination',\n next: 'Page suivante',\n previous: 'Page précédente',\n page: 'Aller à la page {0}',\n currentPage: 'Page actuelle, Page {0}',\n first: 'Première page',\n last: 'Dernière page',\n },\n },\n stepper: {\n next: 'Suivant',\n prev: 'Précédent',\n },\n rating: {\n ariaLabel: {\n item: 'Note de {0} sur {1}',\n },\n },\n loading: 'Chargement...',\n infiniteScroll: {\n loadMore: 'Charger plus',\n empty: 'Aucune donnée supplémentaire',\n },\n}\n"],"mappings":"AAAA,eAAe;EACbA,KAAK,EAAE,OAAO;EACdC,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE,QAAQ;EACfC,YAAY,EAAE;IACZC,aAAa,EAAE,2CAA2C;IAC1DC,WAAW,EAAG;EAChB,CAAC;EACDC,SAAS,EAAE;IACTC,gBAAgB,EAAE,mBAAmB;IACrCC,SAAS,EAAE;MACTC,cAAc,EAAE,kBAAkB;MAClCC,aAAa,EAAE,gBAAgB;MAC/BC,QAAQ,EAAE,WAAW;MACrBC,YAAY,EAAE,gCAAgC;MAC9CC,kBAAkB,EAAE,2CAA2C;MAC/DC,iBAAiB,EAAE;IACrB,CAAC;IACDC,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVT,gBAAgB,EAAE,qBAAqB;IACvCU,eAAe,EAAE,MAAM;IACvBC,QAAQ,EAAE,eAAe;IACzBC,QAAQ,EAAE,iBAAiB;IAC3BC,SAAS,EAAE,eAAe;IAC1BC,QAAQ,EAAE,eAAe;IACzBC,QAAQ,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE;IACdC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,MAAM,EAAE,SAAS;IACjBC,KAAK,EAAE;MACLC,KAAK,EAAE,wBAAwB;MAC/BC,MAAM,EAAE;IACV,CAAC;IACDD,KAAK,EAAE,uBAAuB;IAC9BC,MAAM,EAAE,iBAAiB;IACzBC,KAAK,EAAE;MACLC,WAAW,EAAE;IACf;EACF,CAAC;EACDC,UAAU,EAAE,0BAA0B;EACtCC,QAAQ,EAAE;IACRC,IAAI,EAAE,kBAAkB;IACxBC,IAAI,EAAE,gBAAgB;IACtB5B,SAAS,EAAE;MACT6B,SAAS,EAAE;IACb;EACF,CAAC;EACDC,QAAQ,EAAE;IACRC,UAAU,EAAE;EACd,CAAC;EACDR,KAAK,EAAE;IACLS,KAAK,EAAE,WAAW;IAClBC,aAAa,EAAE,kBAAkB;IACjCC,YAAY,EAAE,kBAAkB;IAChCC,GAAG,EAAE;EACP,CAAC;EACDC,SAAS,EAAE;IACTC,OAAO,EAAE,gBAAgB;IACzBC,WAAW,EAAE;EACf,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,EAAE,EAAE;EACN,CAAC;EACDC,UAAU,EAAE;IACV1C,SAAS,EAAE;MACT2C,IAAI,EAAE,0BAA0B;MAChCf,IAAI,EAAE,eAAe;MACrBgB,QAAQ,EAAE,iBAAiB;MAC3BC,IAAI,EAAE,qBAAqB;MAC3BC,WAAW,EAAE,yBAAyB;MACtCC,KAAK,EAAE,eAAe;MACtBC,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE;IACPrB,IAAI,EAAE,SAAS;IACfD,IAAI,EAAE;EACR,CAAC;EACDuB,MAAM,EAAE;IACNlD,SAAS,EAAE;MACTmD,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE,eAAe;EACxBC,cAAc,EAAE;IACdC,QAAQ,EAAE,cAAc;IACxBC,KAAK,EAAE;EACT;AACF,CAAC"}
package/lib/locale/nl.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  export default {
2
2
  badge: 'insigne',
3
- open: 'Open',
3
+ open: 'Openen',
4
4
  close: 'Sluiten',
5
5
  dataIterator: {
6
6
  noResultsText: 'Geen overeenkomende resultaten gevonden',
@@ -28,19 +28,19 @@ export default {
28
28
  pageText: '{0}-{1} van {2}'
29
29
  },
30
30
  dateRangeInput: {
31
- divider: 'to'
31
+ divider: 'tot'
32
32
  },
33
33
  datePicker: {
34
34
  ok: 'OK',
35
- cancel: 'Cancel',
35
+ cancel: 'Annuleren',
36
36
  range: {
37
- title: 'Select dates',
38
- header: 'Enter dates'
37
+ title: 'Selecteer datums',
38
+ header: 'Voer datums in'
39
39
  },
40
- title: 'Select date',
41
- header: 'Enter date',
40
+ title: 'Selecteer datum',
41
+ header: 'Voer datum in',
42
42
  input: {
43
- placeholder: 'Enter date'
43
+ placeholder: 'Voer datum in'
44
44
  }
45
45
  },
46
46
  noDataText: 'Geen gegevens beschikbaar',
@@ -48,17 +48,17 @@ export default {
48
48
  prev: 'Vorig beeld',
49
49
  next: 'Volgend beeld',
50
50
  ariaLabel: {
51
- delimiter: 'Carousel slide {0} of {1}'
51
+ delimiter: 'Carrousel beeld {0} van {1}'
52
52
  }
53
53
  },
54
54
  calendar: {
55
55
  moreEvents: '{0} meer'
56
56
  },
57
57
  input: {
58
- clear: 'Clear {0}',
59
- prependAction: '{0} prepended action',
60
- appendAction: '{0} appended action',
61
- otp: 'Please enter OTP character {0}'
58
+ clear: 'Maak {0} leeg',
59
+ prependAction: '{0} voorafgaande actie',
60
+ appendAction: '{0} bijgevoegde actie',
61
+ otp: 'Vul alsjeblieft OTP karakter {0} in'
62
62
  },
63
63
  fileInput: {
64
64
  counter: '{0} bestanden',
@@ -70,28 +70,28 @@ export default {
70
70
  },
71
71
  pagination: {
72
72
  ariaLabel: {
73
- root: 'Paginanavigatie',
73
+ root: 'Pagina navigatie',
74
74
  next: 'Volgende pagina',
75
75
  previous: 'Vorige pagina',
76
76
  page: 'Ga naar pagina {0}',
77
77
  currentPage: 'Huidige pagina, pagina {0}',
78
- first: 'First page',
79
- last: 'Last page'
78
+ first: 'Eerste pagina',
79
+ last: 'Laatste pagina'
80
80
  }
81
81
  },
82
82
  stepper: {
83
- next: 'Next',
84
- prev: 'Previous'
83
+ next: 'Volgende',
84
+ prev: 'Vorige'
85
85
  },
86
86
  rating: {
87
87
  ariaLabel: {
88
- item: 'Rating {0} of {1}'
88
+ item: 'Beoordeling {0} van {1}'
89
89
  }
90
90
  },
91
- loading: 'Loading...',
91
+ loading: 'Aan het laden...',
92
92
  infiniteScroll: {
93
- loadMore: 'Load more',
94
- empty: 'No more'
93
+ loadMore: 'Laad meer',
94
+ empty: 'Niet meer'
95
95
  }
96
96
  };
97
97
  //# sourceMappingURL=nl.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"nl.mjs","names":["badge","open","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","dateRangeInput","divider","datePicker","ok","cancel","range","title","header","input","placeholder","noDataText","carousel","prev","next","delimiter","calendar","moreEvents","clear","prependAction","appendAction","otp","fileInput","counter","counterSize","timePicker","am","pm","pagination","root","previous","page","currentPage","first","last","stepper","rating","item","loading","infiniteScroll","loadMore","empty"],"sources":["../../src/locale/nl.ts"],"sourcesContent":["export default {\n badge: 'insigne',\n open: 'Open',\n close: 'Sluiten',\n dataIterator: {\n noResultsText: 'Geen overeenkomende resultaten gevonden',\n loadingText: 'Items aan het laden...',\n },\n dataTable: {\n itemsPerPageText: 'Rijen per pagina:',\n ariaLabel: {\n sortDescending: 'Aflopend gesorteerd.',\n sortAscending: 'Oplopend gesorteerd.',\n sortNone: 'Niet gesorteerd.',\n activateNone: 'Activeer om de sortering te verwijderen.',\n activateDescending: 'Activeer om aflopend te sorteren.',\n activateAscending: 'Activeer om oplopend te sorteren.',\n },\n sortBy: 'Sorteer volgens',\n },\n dataFooter: {\n itemsPerPageText: 'Aantal per pagina:',\n itemsPerPageAll: 'Alles',\n nextPage: 'Volgende pagina',\n prevPage: 'Vorige pagina',\n firstPage: 'Eerste pagina',\n lastPage: 'Laatste pagina',\n pageText: '{0}-{1} van {2}',\n },\n dateRangeInput: {\n divider: 'to',\n },\n datePicker: {\n ok: 'OK',\n cancel: 'Cancel',\n range: {\n title: 'Select dates',\n header: 'Enter dates',\n },\n title: 'Select date',\n header: 'Enter date',\n input: {\n placeholder: 'Enter date',\n },\n },\n noDataText: 'Geen gegevens beschikbaar',\n carousel: {\n prev: 'Vorig beeld',\n next: 'Volgend beeld',\n ariaLabel: {\n delimiter: 'Carousel slide {0} of {1}',\n },\n },\n calendar: {\n moreEvents: '{0} meer',\n },\n input: {\n clear: 'Clear {0}',\n prependAction: '{0} prepended action',\n appendAction: '{0} appended action',\n otp: 'Please enter OTP character {0}',\n },\n fileInput: {\n counter: '{0} bestanden',\n counterSize: '{0} bestanden ({1} in totaal)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Paginanavigatie',\n next: 'Volgende pagina',\n previous: 'Vorige pagina',\n page: 'Ga naar pagina {0}',\n currentPage: 'Huidige pagina, pagina {0}',\n first: 'First page',\n last: 'Last page',\n },\n },\n stepper: {\n next: 'Next',\n prev: 'Previous',\n },\n rating: {\n ariaLabel: {\n item: 'Rating {0} of {1}',\n },\n },\n loading: 'Loading...',\n infiniteScroll: {\n loadMore: 'Load more',\n empty: 'No more',\n },\n}\n"],"mappings":"AAAA,eAAe;EACbA,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,SAAS;EAChBC,YAAY,EAAE;IACZC,aAAa,EAAE,yCAAyC;IACxDC,WAAW,EAAE;EACf,CAAC;EACDC,SAAS,EAAE;IACTC,gBAAgB,EAAE,mBAAmB;IACrCC,SAAS,EAAE;MACTC,cAAc,EAAE,sBAAsB;MACtCC,aAAa,EAAE,sBAAsB;MACrCC,QAAQ,EAAE,kBAAkB;MAC5BC,YAAY,EAAE,0CAA0C;MACxDC,kBAAkB,EAAE,mCAAmC;MACvDC,iBAAiB,EAAE;IACrB,CAAC;IACDC,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVT,gBAAgB,EAAE,oBAAoB;IACtCU,eAAe,EAAE,OAAO;IACxBC,QAAQ,EAAE,iBAAiB;IAC3BC,QAAQ,EAAE,eAAe;IACzBC,SAAS,EAAE,eAAe;IAC1BC,QAAQ,EAAE,gBAAgB;IAC1BC,QAAQ,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE;IACdC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,MAAM,EAAE,QAAQ;IAChBC,KAAK,EAAE;MACLC,KAAK,EAAE,cAAc;MACrBC,MAAM,EAAE;IACV,CAAC;IACDD,KAAK,EAAE,aAAa;IACpBC,MAAM,EAAE,YAAY;IACpBC,KAAK,EAAE;MACLC,WAAW,EAAE;IACf;EACF,CAAC;EACDC,UAAU,EAAE,2BAA2B;EACvCC,QAAQ,EAAE;IACRC,IAAI,EAAE,aAAa;IACnBC,IAAI,EAAE,eAAe;IACrB5B,SAAS,EAAE;MACT6B,SAAS,EAAE;IACb;EACF,CAAC;EACDC,QAAQ,EAAE;IACRC,UAAU,EAAE;EACd,CAAC;EACDR,KAAK,EAAE;IACLS,KAAK,EAAE,WAAW;IAClBC,aAAa,EAAE,sBAAsB;IACrCC,YAAY,EAAE,qBAAqB;IACnCC,GAAG,EAAE;EACP,CAAC;EACDC,SAAS,EAAE;IACTC,OAAO,EAAE,eAAe;IACxBC,WAAW,EAAE;EACf,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,EAAE,EAAE;EACN,CAAC;EACDC,UAAU,EAAE;IACV1C,SAAS,EAAE;MACT2C,IAAI,EAAE,iBAAiB;MACvBf,IAAI,EAAE,iBAAiB;MACvBgB,QAAQ,EAAE,eAAe;MACzBC,IAAI,EAAE,oBAAoB;MAC1BC,WAAW,EAAE,4BAA4B;MACzCC,KAAK,EAAE,YAAY;MACnBC,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE;IACPrB,IAAI,EAAE,MAAM;IACZD,IAAI,EAAE;EACR,CAAC;EACDuB,MAAM,EAAE;IACNlD,SAAS,EAAE;MACTmD,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE,YAAY;EACrBC,cAAc,EAAE;IACdC,QAAQ,EAAE,WAAW;IACrBC,KAAK,EAAE;EACT;AACF,CAAC"}
1
+ {"version":3,"file":"nl.mjs","names":["badge","open","close","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","dateRangeInput","divider","datePicker","ok","cancel","range","title","header","input","placeholder","noDataText","carousel","prev","next","delimiter","calendar","moreEvents","clear","prependAction","appendAction","otp","fileInput","counter","counterSize","timePicker","am","pm","pagination","root","previous","page","currentPage","first","last","stepper","rating","item","loading","infiniteScroll","loadMore","empty"],"sources":["../../src/locale/nl.ts"],"sourcesContent":["export default {\n badge: 'insigne',\n open: 'Openen',\n close: 'Sluiten',\n dataIterator: {\n noResultsText: 'Geen overeenkomende resultaten gevonden',\n loadingText: 'Items aan het laden...',\n },\n dataTable: {\n itemsPerPageText: 'Rijen per pagina:',\n ariaLabel: {\n sortDescending: 'Aflopend gesorteerd.',\n sortAscending: 'Oplopend gesorteerd.',\n sortNone: 'Niet gesorteerd.',\n activateNone: 'Activeer om de sortering te verwijderen.',\n activateDescending: 'Activeer om aflopend te sorteren.',\n activateAscending: 'Activeer om oplopend te sorteren.',\n },\n sortBy: 'Sorteer volgens',\n },\n dataFooter: {\n itemsPerPageText: 'Aantal per pagina:',\n itemsPerPageAll: 'Alles',\n nextPage: 'Volgende pagina',\n prevPage: 'Vorige pagina',\n firstPage: 'Eerste pagina',\n lastPage: 'Laatste pagina',\n pageText: '{0}-{1} van {2}',\n },\n dateRangeInput: {\n divider: 'tot',\n },\n datePicker: {\n ok: 'OK',\n cancel: 'Annuleren',\n range: {\n title: 'Selecteer datums',\n header: 'Voer datums in',\n },\n title: 'Selecteer datum',\n header: 'Voer datum in',\n input: {\n placeholder: 'Voer datum in',\n },\n },\n noDataText: 'Geen gegevens beschikbaar',\n carousel: {\n prev: 'Vorig beeld',\n next: 'Volgend beeld',\n ariaLabel: {\n delimiter: 'Carrousel beeld {0} van {1}',\n },\n },\n calendar: {\n moreEvents: '{0} meer',\n },\n input: {\n clear: 'Maak {0} leeg',\n prependAction: '{0} voorafgaande actie',\n appendAction: '{0} bijgevoegde actie',\n otp: 'Vul alsjeblieft OTP karakter {0} in',\n },\n fileInput: {\n counter: '{0} bestanden',\n counterSize: '{0} bestanden ({1} in totaal)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n root: 'Pagina navigatie',\n next: 'Volgende pagina',\n previous: 'Vorige pagina',\n page: 'Ga naar pagina {0}',\n currentPage: 'Huidige pagina, pagina {0}',\n first: 'Eerste pagina',\n last: 'Laatste pagina',\n },\n },\n stepper: {\n next: 'Volgende',\n prev: 'Vorige',\n },\n rating: {\n ariaLabel: {\n item: 'Beoordeling {0} van {1}',\n },\n },\n loading: 'Aan het laden...',\n infiniteScroll: {\n loadMore: 'Laad meer',\n empty: 'Niet meer',\n },\n}\n"],"mappings":"AAAA,eAAe;EACbA,KAAK,EAAE,SAAS;EAChBC,IAAI,EAAE,QAAQ;EACdC,KAAK,EAAE,SAAS;EAChBC,YAAY,EAAE;IACZC,aAAa,EAAE,yCAAyC;IACxDC,WAAW,EAAE;EACf,CAAC;EACDC,SAAS,EAAE;IACTC,gBAAgB,EAAE,mBAAmB;IACrCC,SAAS,EAAE;MACTC,cAAc,EAAE,sBAAsB;MACtCC,aAAa,EAAE,sBAAsB;MACrCC,QAAQ,EAAE,kBAAkB;MAC5BC,YAAY,EAAE,0CAA0C;MACxDC,kBAAkB,EAAE,mCAAmC;MACvDC,iBAAiB,EAAE;IACrB,CAAC;IACDC,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVT,gBAAgB,EAAE,oBAAoB;IACtCU,eAAe,EAAE,OAAO;IACxBC,QAAQ,EAAE,iBAAiB;IAC3BC,QAAQ,EAAE,eAAe;IACzBC,SAAS,EAAE,eAAe;IAC1BC,QAAQ,EAAE,gBAAgB;IAC1BC,QAAQ,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE;IACdC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,MAAM,EAAE,WAAW;IACnBC,KAAK,EAAE;MACLC,KAAK,EAAE,kBAAkB;MACzBC,MAAM,EAAE;IACV,CAAC;IACDD,KAAK,EAAE,iBAAiB;IACxBC,MAAM,EAAE,eAAe;IACvBC,KAAK,EAAE;MACLC,WAAW,EAAE;IACf;EACF,CAAC;EACDC,UAAU,EAAE,2BAA2B;EACvCC,QAAQ,EAAE;IACRC,IAAI,EAAE,aAAa;IACnBC,IAAI,EAAE,eAAe;IACrB5B,SAAS,EAAE;MACT6B,SAAS,EAAE;IACb;EACF,CAAC;EACDC,QAAQ,EAAE;IACRC,UAAU,EAAE;EACd,CAAC;EACDR,KAAK,EAAE;IACLS,KAAK,EAAE,eAAe;IACtBC,aAAa,EAAE,wBAAwB;IACvCC,YAAY,EAAE,uBAAuB;IACrCC,GAAG,EAAE;EACP,CAAC;EACDC,SAAS,EAAE;IACTC,OAAO,EAAE,eAAe;IACxBC,WAAW,EAAE;EACf,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,IAAI;IACRC,EAAE,EAAE;EACN,CAAC;EACDC,UAAU,EAAE;IACV1C,SAAS,EAAE;MACT2C,IAAI,EAAE,kBAAkB;MACxBf,IAAI,EAAE,iBAAiB;MACvBgB,QAAQ,EAAE,eAAe;MACzBC,IAAI,EAAE,oBAAoB;MAC1BC,WAAW,EAAE,4BAA4B;MACzCC,KAAK,EAAE,eAAe;MACtBC,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE;IACPrB,IAAI,EAAE,UAAU;IAChBD,IAAI,EAAE;EACR,CAAC;EACDuB,MAAM,EAAE;IACNlD,SAAS,EAAE;MACTmD,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE,kBAAkB;EAC3BC,cAAc,EAAE;IACdC,QAAQ,EAAE,WAAW;IACrBC,KAAK,EAAE;EACT;AACF,CAAC"}
@@ -7,6 +7,9 @@ import * as sRGB from "./color/transformSRGB.mjs"; // Types
7
7
  export function isCssColor(color) {
8
8
  return !!color && /^(#|var\(--|(rgb|hsl)a?\()/.test(color);
9
9
  }
10
+ export function isParsableColor(color) {
11
+ return isCssColor(color) && !/^((rgb|hsl)a?\()?var\(--/.test(color);
12
+ }
10
13
  const cssColorRe = /^(?<fn>(?:rgb|hsl)a?)\((?<values>.+)\)/;
11
14
  const mappers = {
12
15
  rgb: (r, g, b, a) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"colorUtils.mjs","names":["APCAcontrast","consoleWarn","chunk","has","padEnd","CIELAB","sRGB","isCssColor","color","test","cssColorRe","mappers","rgb","r","g","b","a","rgba","hsl","h","s","l","HSLtoRGB","hsla","hsv","v","HSVtoRGB","hsva","parseColor","isNaN","groups","match","fn","values","realValues","split","map","endsWith","includes","parseFloat","hex","startsWith","slice","length","char","join","int","parseInt","HexToRGB","HSLtoHSV","TypeError","String","constructor","name","RGBToInt","classToHex","colors","currentTheme","colorName","colorModifier","toString","trim","replace","hexColor","base","f","n","k","Math","max","min","round","RGBtoHSV","HSVtoHSL","sprime","RGBtoCSS","_ref","undefined","HSVtoCSS","toHex","substr","toUpperCase","RGBtoHex","_ref2","parseHex","c","HexToHSV","HSVtoHex","x","parseGradient","gradient","Object","lighten","value","amount","lab","fromXYZ","toXYZ","darken","getLuma","getContrast","first","second","l1","l2","light","dark","getForeground","blackContrast","abs","whiteContrast"],"sources":["../../src/util/colorUtils.ts"],"sourcesContent":["// Utilities\nimport { APCAcontrast } from './color/APCA'\nimport { consoleWarn } from './console'\nimport { chunk, has, padEnd } from './helpers'\nimport * as CIELAB from '@/util/color/transformCIELAB'\nimport * as sRGB from '@/util/color/transformSRGB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number, a?: number }\nexport type RGB = { r: number, g: number, b: number, a?: number }\nexport type HSL = { h: number, s: number, l: number, a?: number }\nexport type Hex = string & { __hexBrand: never }\nexport type Color = string | number | HSV | RGB | HSL\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nconst cssColorRe = /^(?<fn>(?:rgb|hsl)a?)\\((?<values>.+)\\)/\nconst mappers = {\n rgb: (r: number, g: number, b: number, a?: number) => ({ r, g, b, a }),\n rgba: (r: number, g: number, b: number, a?: number) => ({ r, g, b, a }),\n hsl: (h: number, s: number, l: number, a?: number) => HSLtoRGB({ h, s, l, a }),\n hsla: (h: number, s: number, l: number, a?: number) => HSLtoRGB({ h, s, l, a }),\n hsv: (h: number, s: number, v: number, a?: number) => HSVtoRGB({ h, s, v, a }),\n hsva: (h: number, s: number, v: number, a?: number) => HSVtoRGB({ h, s, v, a }),\n}\n\nexport function parseColor (color: Color): RGB {\n if (typeof color === 'number') {\n if (isNaN(color) || color < 0 || color > 0xFFFFFF) { // int can't have opacity\n consoleWarn(`'${color}' is not a valid hex color`)\n }\n\n return {\n r: (color & 0xFF0000) >> 16,\n g: (color & 0xFF00) >> 8,\n b: (color & 0xFF),\n }\n } else if (typeof color === 'string' && cssColorRe.test(color)) {\n const { groups } = color.match(cssColorRe)!\n const { fn, values } = groups as { fn: keyof typeof mappers, values: string }\n const realValues = values.split(/,\\s*/)\n .map(v => {\n if (v.endsWith('%') && ['hsl', 'hsla', 'hsv', 'hsva'].includes(fn)) {\n return parseFloat(v) / 100\n } else {\n return parseFloat(v)\n }\n }) as [number, number, number, number?]\n\n return mappers[fn](...realValues)\n } else if (typeof color === 'string') {\n let hex = color.startsWith('#') ? color.slice(1) : color\n\n if ([3, 4].includes(hex.length)) {\n hex = hex.split('').map(char => char + char).join('')\n } else if (![6, 8].includes(hex.length)) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n const int = parseInt(hex, 16)\n if (isNaN(int) || int < 0 || int > 0xFFFFFFFF) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n return HexToRGB(hex as Hex)\n } else if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n return color\n } else if (has(color, ['h', 's', 'l'])) {\n return HSVtoRGB(HSLtoHSV(color))\n } else if (has(color, ['h', 's', 'v'])) {\n return HSVtoRGB(color)\n }\n }\n\n throw new TypeError(`Invalid color: ${color == null ? color : (String(color) || (color as any).constructor.name)}\\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)\n}\n\nexport function RGBToInt (color: RGB) {\n return (color.r << 16) + (color.g << 8) + color.b\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\n/** Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function HSVtoRGB (hsva: HSV): RGB {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\nexport function HSLtoRGB (hsla: HSL): RGB {\n return HSVtoRGB(HSLtoHSV(hsla))\n}\n\n/** Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function RGBtoHSV (rgba: RGB): HSV {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVtoHSL (hsva: HSV): HSL {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLtoHSV (hsl: HSL): HSV {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBtoCSS ({ r, g, b, a }: RGB): string {\n return a === undefined ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`\n}\n\nexport function HSVtoCSS (hsva: HSV): string {\n return RGBtoCSS(HSVtoRGB(hsva))\n}\n\nfunction toHex (v: number) {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n}\n\nexport function RGBtoHex ({ r, g, b, a }: RGB): Hex {\n return `#${[\n toHex(r),\n toHex(g),\n toHex(b),\n a !== undefined ? toHex(Math.round(a * 255)) : '',\n ].join('')}` as Hex\n}\n\nexport function HexToRGB (hex: Hex): RGB {\n hex = parseHex(hex)\n let [r, g, b, a] = chunk(hex, 2).map((c: string) => parseInt(c, 16))\n a = a === undefined ? a : (a / 255)\n\n return { r, g, b, a }\n}\n\nexport function HexToHSV (hex: Hex): HSV {\n const rgb = HexToRGB(hex)\n return RGBtoHSV(rgb)\n}\n\nexport function HSVtoHex (hsva: HSV): Hex {\n return RGBtoHex(HSVtoRGB(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length !== 6) {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return hex as Hex\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGB(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function lighten (value: RGB, amount: number): RGB {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: RGB, amount: number): RGB {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = parseColor(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n\nexport function getForeground (color: Color) {\n const blackContrast = Math.abs(APCAcontrast(parseColor(0), parseColor(color)))\n const whiteContrast = Math.abs(APCAcontrast(parseColor(0xffffff), parseColor(color)))\n\n // TODO: warn about poor color selections\n // const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))\n // const minContrast = Math.max(blackContrast, whiteContrast)\n // if (minContrast < 60) {\n // consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)\n // } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {\n // consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)\n // }\n\n // Prefer white text if both have an acceptable contrast ratio\n return whiteContrast > Math.min(blackContrast, 50) ? '#fff' : '#000'\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"colorUtils.mjs","names":["APCAcontrast","consoleWarn","chunk","has","padEnd","CIELAB","sRGB","isCssColor","color","test","isParsableColor","cssColorRe","mappers","rgb","r","g","b","a","rgba","hsl","h","s","l","HSLtoRGB","hsla","hsv","v","HSVtoRGB","hsva","parseColor","isNaN","groups","match","fn","values","realValues","split","map","endsWith","includes","parseFloat","hex","startsWith","slice","length","char","join","int","parseInt","HexToRGB","HSLtoHSV","TypeError","String","constructor","name","RGBToInt","classToHex","colors","currentTheme","colorName","colorModifier","toString","trim","replace","hexColor","base","f","n","k","Math","max","min","round","RGBtoHSV","HSVtoHSL","sprime","RGBtoCSS","_ref","undefined","HSVtoCSS","toHex","substr","toUpperCase","RGBtoHex","_ref2","parseHex","c","HexToHSV","HSVtoHex","x","parseGradient","gradient","Object","lighten","value","amount","lab","fromXYZ","toXYZ","darken","getLuma","getContrast","first","second","l1","l2","light","dark","getForeground","blackContrast","abs","whiteContrast"],"sources":["../../src/util/colorUtils.ts"],"sourcesContent":["// Utilities\nimport { APCAcontrast } from './color/APCA'\nimport { consoleWarn } from './console'\nimport { chunk, has, padEnd } from './helpers'\nimport * as CIELAB from '@/util/color/transformCIELAB'\nimport * as sRGB from '@/util/color/transformSRGB'\n\n// Types\nimport type { Colors } from '@/composables/theme'\n\nexport type XYZ = [number, number, number]\nexport type LAB = [number, number, number]\nexport type HSV = { h: number, s: number, v: number, a?: number }\nexport type RGB = { r: number, g: number, b: number, a?: number }\nexport type HSL = { h: number, s: number, l: number, a?: number }\nexport type Hex = string & { __hexBrand: never }\nexport type Color = string | number | HSV | RGB | HSL\n\nexport function isCssColor (color?: string | null | false): boolean {\n return !!color && /^(#|var\\(--|(rgb|hsl)a?\\()/.test(color)\n}\n\nexport function isParsableColor (color: string): boolean {\n return isCssColor(color) && !/^((rgb|hsl)a?\\()?var\\(--/.test(color)\n}\n\nconst cssColorRe = /^(?<fn>(?:rgb|hsl)a?)\\((?<values>.+)\\)/\nconst mappers = {\n rgb: (r: number, g: number, b: number, a?: number) => ({ r, g, b, a }),\n rgba: (r: number, g: number, b: number, a?: number) => ({ r, g, b, a }),\n hsl: (h: number, s: number, l: number, a?: number) => HSLtoRGB({ h, s, l, a }),\n hsla: (h: number, s: number, l: number, a?: number) => HSLtoRGB({ h, s, l, a }),\n hsv: (h: number, s: number, v: number, a?: number) => HSVtoRGB({ h, s, v, a }),\n hsva: (h: number, s: number, v: number, a?: number) => HSVtoRGB({ h, s, v, a }),\n}\n\nexport function parseColor (color: Color): RGB {\n if (typeof color === 'number') {\n if (isNaN(color) || color < 0 || color > 0xFFFFFF) { // int can't have opacity\n consoleWarn(`'${color}' is not a valid hex color`)\n }\n\n return {\n r: (color & 0xFF0000) >> 16,\n g: (color & 0xFF00) >> 8,\n b: (color & 0xFF),\n }\n } else if (typeof color === 'string' && cssColorRe.test(color)) {\n const { groups } = color.match(cssColorRe)!\n const { fn, values } = groups as { fn: keyof typeof mappers, values: string }\n const realValues = values.split(/,\\s*/)\n .map(v => {\n if (v.endsWith('%') && ['hsl', 'hsla', 'hsv', 'hsva'].includes(fn)) {\n return parseFloat(v) / 100\n } else {\n return parseFloat(v)\n }\n }) as [number, number, number, number?]\n\n return mappers[fn](...realValues)\n } else if (typeof color === 'string') {\n let hex = color.startsWith('#') ? color.slice(1) : color\n\n if ([3, 4].includes(hex.length)) {\n hex = hex.split('').map(char => char + char).join('')\n } else if (![6, 8].includes(hex.length)) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n const int = parseInt(hex, 16)\n if (isNaN(int) || int < 0 || int > 0xFFFFFFFF) {\n consoleWarn(`'${color}' is not a valid hex(a) color`)\n }\n\n return HexToRGB(hex as Hex)\n } else if (typeof color === 'object') {\n if (has(color, ['r', 'g', 'b'])) {\n return color\n } else if (has(color, ['h', 's', 'l'])) {\n return HSVtoRGB(HSLtoHSV(color))\n } else if (has(color, ['h', 's', 'v'])) {\n return HSVtoRGB(color)\n }\n }\n\n throw new TypeError(`Invalid color: ${color == null ? color : (String(color) || (color as any).constructor.name)}\\nExpected #hex, #hexa, rgb(), rgba(), hsl(), hsla(), object or number`)\n}\n\nexport function RGBToInt (color: RGB) {\n return (color.r << 16) + (color.g << 8) + color.b\n}\n\nexport function classToHex (\n color: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n): string {\n const [colorName, colorModifier] = color\n .toString().trim().replace('-', '').split(' ', 2) as (string | undefined)[]\n\n let hexColor = ''\n if (colorName && colorName in colors) {\n if (colorModifier && colorModifier in colors[colorName]) {\n hexColor = colors[colorName][colorModifier]\n } else if ('base' in colors[colorName]) {\n hexColor = colors[colorName].base\n }\n } else if (colorName && colorName in currentTheme) {\n hexColor = currentTheme[colorName] as string\n }\n\n return hexColor\n}\n\n/** Converts HSVA to RGBA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function HSVtoRGB (hsva: HSV): RGB {\n const { h, s, v, a } = hsva\n const f = (n: number) => {\n const k = (n + (h / 60)) % 6\n return v - v * s * Math.max(Math.min(k, 4 - k, 1), 0)\n }\n\n const rgb = [f(5), f(3), f(1)].map(v => Math.round(v * 255))\n\n return { r: rgb[0], g: rgb[1], b: rgb[2], a }\n}\n\nexport function HSLtoRGB (hsla: HSL): RGB {\n return HSVtoRGB(HSLtoHSV(hsla))\n}\n\n/** Converts RGBA to HSVA. Based on formula from https://en.wikipedia.org/wiki/HSL_and_HSV */\nexport function RGBtoHSV (rgba: RGB): HSV {\n if (!rgba) return { h: 0, s: 1, v: 1, a: 1 }\n\n const r = rgba.r / 255\n const g = rgba.g / 255\n const b = rgba.b / 255\n const max = Math.max(r, g, b)\n const min = Math.min(r, g, b)\n\n let h = 0\n\n if (max !== min) {\n if (max === r) {\n h = 60 * (0 + ((g - b) / (max - min)))\n } else if (max === g) {\n h = 60 * (2 + ((b - r) / (max - min)))\n } else if (max === b) {\n h = 60 * (4 + ((r - g) / (max - min)))\n }\n }\n\n if (h < 0) h = h + 360\n\n const s = max === 0 ? 0 : (max - min) / max\n const hsv = [h, s, max]\n\n return { h: hsv[0], s: hsv[1], v: hsv[2], a: rgba.a }\n}\n\nexport function HSVtoHSL (hsva: HSV): HSL {\n const { h, s, v, a } = hsva\n\n const l = v - (v * s / 2)\n\n const sprime = l === 1 || l === 0 ? 0 : (v - l) / Math.min(l, 1 - l)\n\n return { h, s: sprime, l, a }\n}\n\nexport function HSLtoHSV (hsl: HSL): HSV {\n const { h, s, l, a } = hsl\n\n const v = l + s * Math.min(l, 1 - l)\n\n const sprime = v === 0 ? 0 : 2 - (2 * l / v)\n\n return { h, s: sprime, v, a }\n}\n\nexport function RGBtoCSS ({ r, g, b, a }: RGB): string {\n return a === undefined ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${a})`\n}\n\nexport function HSVtoCSS (hsva: HSV): string {\n return RGBtoCSS(HSVtoRGB(hsva))\n}\n\nfunction toHex (v: number) {\n const h = Math.round(v).toString(16)\n return ('00'.substr(0, 2 - h.length) + h).toUpperCase()\n}\n\nexport function RGBtoHex ({ r, g, b, a }: RGB): Hex {\n return `#${[\n toHex(r),\n toHex(g),\n toHex(b),\n a !== undefined ? toHex(Math.round(a * 255)) : '',\n ].join('')}` as Hex\n}\n\nexport function HexToRGB (hex: Hex): RGB {\n hex = parseHex(hex)\n let [r, g, b, a] = chunk(hex, 2).map((c: string) => parseInt(c, 16))\n a = a === undefined ? a : (a / 255)\n\n return { r, g, b, a }\n}\n\nexport function HexToHSV (hex: Hex): HSV {\n const rgb = HexToRGB(hex)\n return RGBtoHSV(rgb)\n}\n\nexport function HSVtoHex (hsva: HSV): Hex {\n return RGBtoHex(HSVtoRGB(hsva))\n}\n\nexport function parseHex (hex: string): Hex {\n if (hex.startsWith('#')) {\n hex = hex.slice(1)\n }\n\n hex = hex.replace(/([^0-9a-f])/gi, 'F')\n\n if (hex.length === 3 || hex.length === 4) {\n hex = hex.split('').map(x => x + x).join('')\n }\n\n if (hex.length !== 6) {\n hex = padEnd(padEnd(hex, 6), 8, 'F')\n }\n\n return hex as Hex\n}\n\nexport function parseGradient (\n gradient: string,\n colors: Record<string, Record<string, string>>,\n currentTheme: Partial<Colors>,\n) {\n return gradient.replace(/([a-z]+(\\s[a-z]+-[1-5])?)(?=$|,)/gi, x => {\n return classToHex(x, colors, currentTheme) || x\n }).replace(/(rgba\\()#[0-9a-f]+(?=,)/gi, x => {\n return 'rgba(' + Object.values(HexToRGB(parseHex(x.replace(/rgba\\(/, '')))).slice(0, 3).join(',')\n })\n}\n\nexport function lighten (value: RGB, amount: number): RGB {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] + amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\nexport function darken (value: RGB, amount: number): RGB {\n const lab = CIELAB.fromXYZ(sRGB.toXYZ(value))\n lab[0] = lab[0] - amount * 10\n\n return sRGB.fromXYZ(CIELAB.toXYZ(lab))\n}\n\n/**\n * Calculate the relative luminance of a given color\n * @see https://www.w3.org/TR/WCAG20/#relativeluminancedef\n */\nexport function getLuma (color: Color) {\n const rgb = parseColor(color)\n\n return sRGB.toXYZ(rgb)[1]\n}\n\n/**\n * Returns the contrast ratio (1-21) between two colors.\n * @see https://www.w3.org/TR/WCAG20/#contrast-ratiodef\n */\nexport function getContrast (first: Color, second: Color) {\n const l1 = getLuma(first)\n const l2 = getLuma(second)\n\n const light = Math.max(l1, l2)\n const dark = Math.min(l1, l2)\n\n return (light + 0.05) / (dark + 0.05)\n}\n\nexport function getForeground (color: Color) {\n const blackContrast = Math.abs(APCAcontrast(parseColor(0), parseColor(color)))\n const whiteContrast = Math.abs(APCAcontrast(parseColor(0xffffff), parseColor(color)))\n\n // TODO: warn about poor color selections\n // const contrastAsText = Math.abs(APCAcontrast(colorVal, colorToInt(theme.colors.background)))\n // const minContrast = Math.max(blackContrast, whiteContrast)\n // if (minContrast < 60) {\n // consoleInfo(`${key} theme color ${color} has poor contrast (${minContrast.toFixed()}%)`)\n // } else if (contrastAsText < 60 && !['background', 'surface'].includes(color)) {\n // consoleInfo(`${key} theme color ${color} has poor contrast as text (${contrastAsText.toFixed()}%)`)\n // }\n\n // Prefer white text if both have an acceptable contrast ratio\n return whiteContrast > Math.min(blackContrast, 50) ? '#fff' : '#000'\n}\n"],"mappings":"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"}
@@ -6,7 +6,7 @@ function _classPrivateFieldGet(receiver, privateMap) { var descriptor = _classEx
6
6
  function _classExtractFieldDescriptor(receiver, privateMap, action) { if (!privateMap.has(receiver)) { throw new TypeError("attempted to " + action + " private field on non-instance"); } return privateMap.get(receiver); }
7
7
  function _classApplyDescriptorGet(receiver, descriptor) { if (descriptor.get) { return descriptor.get.call(receiver); } return descriptor.value; }
8
8
  // Utilities
9
- import { camelize, capitalize, computed, Fragment, reactive, toRefs, watchEffect } from 'vue';
9
+ import { camelize, capitalize, Comment, computed, Fragment, isVNode, reactive, toRefs, watchEffect } from 'vue';
10
10
  import { IN_BROWSER } from "./globals.mjs"; // Types
11
11
  export function getNestedValue(obj, path, fallback) {
12
12
  const last = path.length - 1;
@@ -162,6 +162,10 @@ export function only(obj, include) {
162
162
  const onRE = /^on[^a-z]/;
163
163
  export const isOn = key => onRE.test(key);
164
164
  const bubblingEvents = ['onAfterscriptexecute', 'onAnimationcancel', 'onAnimationend', 'onAnimationiteration', 'onAnimationstart', 'onAuxclick', 'onBeforeinput', 'onBeforescriptexecute', 'onChange', 'onClick', 'onCompositionend', 'onCompositionstart', 'onCompositionupdate', 'onContextmenu', 'onCopy', 'onCut', 'onDblclick', 'onFocusin', 'onFocusout', 'onFullscreenchange', 'onFullscreenerror', 'onGesturechange', 'onGestureend', 'onGesturestart', 'onGotpointercapture', 'onInput', 'onKeydown', 'onKeypress', 'onKeyup', 'onLostpointercapture', 'onMousedown', 'onMousemove', 'onMouseout', 'onMouseover', 'onMouseup', 'onMousewheel', 'onPaste', 'onPointercancel', 'onPointerdown', 'onPointerenter', 'onPointerleave', 'onPointermove', 'onPointerout', 'onPointerover', 'onPointerup', 'onReset', 'onSelect', 'onSubmit', 'onTouchcancel', 'onTouchend', 'onTouchmove', 'onTouchstart', 'onTransitioncancel', 'onTransitionend', 'onTransitionrun', 'onTransitionstart', 'onWheel'];
165
+ const compositionIgnoreKeys = ['ArrowUp', 'ArrowDown', 'ArrowRight', 'ArrowLeft', 'Enter', 'Escape', 'Tab', ' '];
166
+ export function isComposingIgnoreKey(e) {
167
+ return e.isComposing && compositionIgnoreKeys.includes(e.key);
168
+ }
165
169
 
166
170
  /**
167
171
  * Filter attributes that should be applied to
@@ -474,4 +478,11 @@ export function matchesSelector(el, selector) {
474
478
  return null;
475
479
  }
476
480
  }
481
+ export function ensureValidVNode(vnodes) {
482
+ return vnodes.some(child => {
483
+ if (!isVNode(child)) return true;
484
+ if (child.type === Comment) return false;
485
+ return child.type !== Fragment || ensureValidVNode(child.children);
486
+ }) ? vnodes : null;
487
+ }
477
488
  //# sourceMappingURL=helpers.mjs.map