@fremtind/jokul 5.0.0-next.11 → 5.0.0-next.13

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 (101) hide show
  1. package/build/build-stats.html +1 -1
  2. package/build/cjs/components/autosuggest/BaseAutosuggest.cjs +1 -1
  3. package/build/cjs/components/autosuggest/BaseAutosuggest.cjs.map +1 -1
  4. package/build/cjs/tokens.cjs +1 -1
  5. package/build/cjs/tokens.cjs.map +1 -1
  6. package/build/cjs/utilities/index.cjs +1 -1
  7. package/build/cjs/utilities/types.cjs +1 -1
  8. package/build/cjs/utilities/types.cjs.map +1 -1
  9. package/build/cjs/utilities/types.d.cts +2 -0
  10. package/build/es/components/autosuggest/BaseAutosuggest.js +1 -1
  11. package/build/es/components/autosuggest/BaseAutosuggest.js.map +1 -1
  12. package/build/es/components/datepicker/DatePicker.js +1 -1
  13. package/build/es/components/datepicker/internal/Calendar.js +1 -1
  14. package/build/es/components/datepicker/internal/useCalendar.js +1 -1
  15. package/build/es/components/datepicker/internal/utils.js +1 -1
  16. package/build/es/components/menu/Menu.js +1 -1
  17. package/build/es/components/toast/toastContext.js +1 -1
  18. package/build/es/components/tooltip/Tooltip.js +1 -1
  19. package/build/es/hooks/stories/content.js +1 -1
  20. package/build/es/tokens.js +1 -1
  21. package/build/es/tokens.js.map +1 -1
  22. package/build/es/utilities/constants/index.js +1 -1
  23. package/build/es/utilities/constants/unicode.js +1 -1
  24. package/build/es/utilities/formatters/bytes/formatBytes.js +1 -1
  25. package/build/es/utilities/formatters/fodselsnummer/formatFodselsnummer.js +1 -1
  26. package/build/es/utilities/formatters/kontonummer/formatKontonummer.js +1 -1
  27. package/build/es/utilities/formatters/kortnummer/formatKortnummer.js +1 -1
  28. package/build/es/utilities/formatters/organisasjonsnummer/formatOrganisasjonsnummer.js +1 -1
  29. package/build/es/utilities/formatters/telefonnummer/formatTelefonnummer.js +1 -1
  30. package/build/es/utilities/formatters/valuta/formatValuta.js +1 -1
  31. package/build/es/utilities/index.js +1 -1
  32. package/build/es/utilities/types.d.ts +2 -0
  33. package/build/es/utilities/types.js +1 -1
  34. package/build/es/utilities/types.js.map +1 -1
  35. package/build/{index-CWRMnfcx.js → index-C1iqmqvT.js} +2 -2
  36. package/build/{index-CWRMnfcx.js.map → index-C1iqmqvT.js.map} +1 -1
  37. package/build/{utils-CcE6HjQp.js → utils-CtwpNW4I.js} +2 -2
  38. package/build/{utils-CcE6HjQp.js.map → utils-CtwpNW4I.js.map} +1 -1
  39. package/codemods/__tests__/import-paths.test.mjs +3 -3
  40. package/codemods/transforms/color-tokens.mjs +33 -8
  41. package/codemods/transforms/import-specifiers.mjs +8 -12
  42. package/package.json +4 -4
  43. package/styles/components/autosuggest/autosuggest.css +4 -3
  44. package/styles/components/autosuggest/autosuggest.min.css +1 -1
  45. package/styles/components/autosuggest/autosuggest.scss +4 -3
  46. package/styles/components/checkbox/checkbox.css +1 -1
  47. package/styles/components/checkbox/checkbox.min.css +1 -1
  48. package/styles/components/checkbox/checkbox.scss +1 -1
  49. package/styles/components/checkbox-panel/checkbox-panel.css +1 -1
  50. package/styles/components/checkbox-panel/checkbox-panel.min.css +1 -1
  51. package/styles/components/combobox/combobox.css +4 -4
  52. package/styles/components/combobox/combobox.min.css +1 -1
  53. package/styles/components/combobox/combobox.scss +4 -4
  54. package/styles/components/countdown/countdown.css +2 -2
  55. package/styles/components/countdown/countdown.min.css +1 -1
  56. package/styles/components/expander/expandable.css +1 -1
  57. package/styles/components/expander/expandable.min.css +1 -1
  58. package/styles/components/expander/expandable.scss +1 -1
  59. package/styles/components/feedback/feedback.css +2 -2
  60. package/styles/components/feedback/feedback.min.css +1 -1
  61. package/styles/components/file-input/file-input.css +9 -9
  62. package/styles/components/file-input/file-input.min.css +1 -1
  63. package/styles/components/input-group/input-group.css +2 -2
  64. package/styles/components/input-group/input-group.min.css +1 -1
  65. package/styles/components/link-list/link-list.css +1 -1
  66. package/styles/components/link-list/link-list.min.css +1 -1
  67. package/styles/components/link-list/link-list.scss +1 -1
  68. package/styles/components/loader/loader.css +6 -6
  69. package/styles/components/loader/loader.min.css +1 -1
  70. package/styles/components/loader/skeleton-loader.css +3 -3
  71. package/styles/components/loader/skeleton-loader.min.css +1 -1
  72. package/styles/components/menu/_menu-item.scss +1 -1
  73. package/styles/components/menu/menu.css +1 -1
  74. package/styles/components/menu/menu.min.css +1 -1
  75. package/styles/components/message/message.css +9 -9
  76. package/styles/components/message/message.min.css +1 -1
  77. package/styles/components/message/message.scss +7 -7
  78. package/styles/components/modal/_overlay.scss +4 -0
  79. package/styles/components/modal/modal.css +5 -0
  80. package/styles/components/modal/modal.min.css +1 -1
  81. package/styles/components/progress-bar/progress-bar.css +1 -1
  82. package/styles/components/progress-bar/progress-bar.min.css +1 -1
  83. package/styles/components/radio-button/radio-button.css +1 -5
  84. package/styles/components/radio-button/radio-button.min.css +1 -1
  85. package/styles/components/radio-button/radio-button.scss +2 -6
  86. package/styles/components/segmented-control/segmented-control.css +3 -7
  87. package/styles/components/segmented-control/segmented-control.min.css +1 -1
  88. package/styles/components/select/select.css +2 -2
  89. package/styles/components/select/select.min.css +1 -1
  90. package/styles/components/select/select.scss +3 -5
  91. package/styles/components/system-message/system-message.css +9 -13
  92. package/styles/components/system-message/system-message.min.css +1 -1
  93. package/styles/components/system-message/system-message.scss +114 -121
  94. package/styles/components/tag/tag.css +4 -4
  95. package/styles/components/tag/tag.min.css +1 -1
  96. package/styles/components/tag/tag.scss +4 -4
  97. package/styles/components/toast/toast.css +4 -4
  98. package/styles/components/toast/toast.min.css +1 -1
  99. package/styles/components.css +62 -64
  100. package/styles/components.min.css +1 -1
  101. package/styles/jkl/_tokens.scss +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"utils-CcE6HjQp.js","sources":["../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/dayjs.min.js","../src/components/datepicker/internal/utils.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","/***\n * MIT License\n *\n * Copyright (c) 2017 Deseret Digital Media. 2022 Fremtind Forsikring AS.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport dayjs from \"dayjs\";\nimport React from \"react\";\nimport type { ValuePair } from \"../../../utilities/valuePair.js\";\nimport type { YearsToShow } from \"../types.js\";\nimport { parseDateString } from \"../utils.js\";\n\nexport function composeEventHandlers(\n ...fns: Array<React.MouseEventHandler | undefined>\n) {\n return (event: React.MouseEvent) =>\n fns.some((fn) => {\n fn?.(event);\n return event.defaultPrevented;\n });\n}\n\n/**\n * Takes a calendars array and figures out the number of months to subtract\n * based on the current offset and the minDate allowed.\n * @param {Object} param The param object\n * @param {Array} param.calendars The calendars array created by the getCalendars function\n * @param {Number} param.offset The num of months to be subtracted\n * @param {Date} param.minDate The earliest date we are allow to subtract back to\n * @returns {Number} The number of months to subtract\n */\nexport function subtractMonth({\n calendars,\n offset,\n minDate,\n}: {\n calendars: CalendarMonth[];\n offset: number;\n minDate?: Date;\n}): number {\n if (offset > 1 && minDate) {\n const { firstDayOfMonth } = calendars[0];\n const diffInMonths = dayjs(minDate).diff(firstDayOfMonth, \"months\");\n if (diffInMonths < offset) {\n offset = diffInMonths;\n }\n }\n return offset;\n}\n\nexport const DEFAULT_YEARS_TO_SHOW = 3;\n\n/**\n * Generates an array of year strings for a year selector component, with min and max dates taken into account.\n *\n * @param {number} currentYear - The current year to center the list around\n * @param {Date | undefined} [minDate] - The minimum date to include in the list of years\n * @param {Date | undefined} [maxDate] - The maximum date to include in the list of years\n *\n * @returns {string[]} - An array of year strings, starting from the earliest year specified by minDate or currentYear - 3, and ending at the latest year specified by maxDate or currentYear + 3\n */\nexport function getYearSelectOptions(\n currentYear: number,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n yearsToShow: YearsToShow,\n): string[] {\n if (minDate && minDate.getFullYear() > currentYear) {\n return [minDate.getFullYear().toString()];\n }\n\n if (maxDate && maxDate.getFullYear() < currentYear) {\n return [maxDate.getFullYear().toString()];\n }\n\n let showAllYears = false;\n let previousYearsToShow: number;\n let comingYearsToShow: number;\n\n if (yearsToShow === \"all\") {\n showAllYears = true;\n previousYearsToShow = DEFAULT_YEARS_TO_SHOW;\n comingYearsToShow = DEFAULT_YEARS_TO_SHOW;\n } else {\n previousYearsToShow =\n typeof yearsToShow === \"number\"\n ? yearsToShow\n : yearsToShow.previous;\n comingYearsToShow =\n typeof yearsToShow === \"number\" ? yearsToShow : yearsToShow.coming;\n }\n\n let startYear = currentYear - previousYearsToShow;\n if (minDate) {\n const earliestStartYear = showAllYears\n ? minDate.getFullYear()\n : startYear;\n startYear = Math.max(minDate.getFullYear(), earliestStartYear);\n }\n\n let endYear = currentYear + comingYearsToShow;\n if (maxDate) {\n const latestEndYear = showAllYears ? maxDate.getFullYear() : endYear;\n endYear = Math.min(maxDate.getFullYear(), latestEndYear);\n }\n\n // Sørg for å alltid vise minst ett år\n const numYears = Math.max(endYear - startYear + 1, 1);\n\n const range = [...Array(numYears).keys()].map((x) => x + startYear);\n const stringRange = range.map((item) => item.toString());\n\n return stringRange;\n}\n\n/**\n * Returns an array of months that are allowed for selection in the current year based on the minimum and maximum dates.\n * @param {number} currentYear The current year\n * @param {string[]} monthNames An array of strings representing the month names\n * @param {Date | undefined} minDate The minimum date that is allowed for selection\n * @param {Date | undefined} maxDate The maximum date that is allowed for selection\n * @returns {ValuePair[]} An array of ValuePairs representing the months that are allowed for selection in the current year\n */\nexport function getMonthSelectOptions(\n currentYear: number,\n monthNames: string[],\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): ValuePair[] {\n const minDateYear = minDate?.getFullYear() || currentYear;\n const minDateMonth =\n minDate?.getMonth() === undefined ? 0 : minDate.getMonth();\n const maxDateYear = maxDate?.getFullYear() || currentYear;\n const maxDateMonth =\n maxDate?.getMonth() === undefined ? 11 : maxDate.getMonth();\n\n let startMonth = 0;\n let endMonth = 11;\n\n if (minDateYear === currentYear) {\n startMonth = minDateMonth;\n }\n if (maxDateYear === currentYear) {\n endMonth = maxDateMonth;\n }\n\n const filteredMonths = monthNames\n .map((month, index) => ({\n value: index.toString(),\n label: month,\n }))\n .filter(\n ({ value }) =>\n Number.parseInt(value) >= startMonth &&\n Number.parseInt(value) <= endMonth,\n );\n\n return filteredMonths;\n}\n\n/**s\n * Takes a calendars array and figures out the number of months to add\n * based on the current offset and the maxDate allowed.\n * @param {Object} param The param object\n * @param {Array} param.calendars The calendars array created by the getCalendars function\n * @param {Number} param.offset The num of months to be added\n * @param {Date} param.maxDate The furthest date we are allow to add forward to\n * @returns {Number} The number of months to add\n */\nexport function addMonth({\n calendars,\n offset,\n maxDate,\n}: {\n calendars: CalendarMonth[];\n offset: number;\n maxDate?: Date;\n}): number {\n if (offset > 1 && maxDate) {\n const { lastDayOfMonth } = calendars[calendars.length - 1];\n const diffInMonths = dayjs(maxDate).diff(lastDayOfMonth, \"months\");\n if (diffInMonths < offset) {\n offset = diffInMonths;\n }\n }\n return offset;\n}\n\n/**\n * Takes a calendars array and figures out if the back button should be\n * disabled based on the minDate allowed.\n * @param {Object} param The param object\n * @param {Array} param.calendars The calendars array created by the getCalendars function\n * @param {Date} param.minDate The earliest date available\n * @returns {Boolean} Whether the back button should be disabled.\n */\nexport function isBackDisabled({\n calendars,\n minDate,\n}: {\n calendars: CalendarMonth[];\n minDate?: Date;\n}): boolean {\n if (!minDate) {\n return false;\n }\n\n return dayjs(calendars[0].firstDayOfMonth)\n .subtract(1, \"day\")\n .isBefore(minDate);\n}\n\n/**\n * Takes a calendars array and figures out if the forward button should be\n * disabled based on the maxDate allowed.\n * @param {Object} param The param object\n * @param {Array} param.calendars The calendars array created by the getCalendars function\n * @param {Date} param.maxDate The furthest date available\n * @returns {Boolean} Whether the forward button should be disabled.\n */\nexport function isForwardDisabled({\n calendars,\n maxDate,\n}: {\n calendars: CalendarMonth[];\n maxDate?: Date;\n}): boolean {\n if (!maxDate) {\n return false;\n }\n\n return dayjs(calendars.at(-1)?.lastDayOfMonth)\n .add(1, \"day\")\n .isAfter(maxDate);\n}\n\ntype GetCalendarProps = {\n /** The date to start the calendar at */\n date: Date;\n /** Date or dates currently selected. */\n selected?: Date | Date[];\n /** The earliest date available */\n minDate?: Date;\n /** The earliest date available */\n maxDate?: Date;\n /** The number of months to return in the calendar view */\n monthsToDisplay: number;\n /** The number of months to offset based off the param.date given */\n offset: number;\n /** First day of week, 0-6 (Sunday to Saturday) */\n firstDayOfWeek: number;\n /** Flag to fill front and back weeks with dates from adjacent months */\n showOutsideDays: boolean;\n};\n\n/**\n * Figures out the months data needed based off the number of monthsToDisplay\n * and other options provided.\n * @param {Object} param The param object\n * @param {Date} param.date The date to start the calendar at\n * @param {Array.<Date>} param.selected An array of dates currently selected\n * @param {Number} param.monthsToDisplay The number of months to return in the calendar view\n * @param {Number} param.offset The number of months to offset based off the param.date given\n * @param {Date} param.minDate The earliest date available\n * @param {Date} param.maxDate The furthest date available\n * @param {Number} param.firstDayOfWeek First day of week, 0-6 (Sunday to Saturday)\n * @param {Bool} param.showOutsideDays Flag to fill front and back weeks with dates from adjacent months\n * @returns {Array.<Object>} An array of objects with month data\n */\nexport function getCalendars({\n date,\n selected,\n monthsToDisplay,\n offset,\n minDate,\n maxDate,\n firstDayOfWeek,\n showOutsideDays,\n}: GetCalendarProps): CalendarMonth[] {\n const months: CalendarMonth[] = [];\n const startDate = getStartDate(date, minDate, maxDate);\n for (let i = 0; i < monthsToDisplay; i++) {\n const calendarDates = getMonths({\n month: startDate.getMonth() + i + offset,\n year: startDate.getFullYear(),\n selectedDates: selected,\n minDate,\n maxDate,\n firstDayOfWeek,\n showOutsideDays,\n });\n months.push(calendarDates);\n }\n return months;\n}\n\n/**\n * Figures out the actual start date based on\n * the min and max dates available.\n * @param {Date} date The we want to start the calendar at\n * @param {Date} minDate The earliest date available to start at\n * @param {Date} maxDate The latest date available to start at\n * @returns {Date} The actual start date\n */\nfunction getStartDate(date: Date, minDate?: Date, maxDate?: Date): Date {\n let startDate = dayjs(date).startOf(\"day\");\n if (minDate) {\n const minDateNormalized = dayjs(minDate).startOf(\"day\");\n if (startDate.isBefore(minDateNormalized)) {\n startDate = minDateNormalized;\n }\n }\n if (maxDate) {\n const maxDateNormalized = dayjs(maxDate).startOf(\"day\");\n if (startDate.isAfter(maxDateNormalized)) {\n startDate = maxDateNormalized;\n }\n }\n return startDate.toDate();\n}\n\ntype GetMonthsProps = {\n /** The month to grab data for */\n month: number;\n /** The year to grab data for */\n year: number;\n /** Date or dates currently selected. */\n selectedDates?: Date | Date[];\n /** The earliest date available */\n minDate?: Date;\n /** The earliest date available */\n maxDate?: Date;\n /** First day of week, 0-6 (Sunday to Saturday) */\n firstDayOfWeek: number;\n /** Flag to fill front and back weeks with dates from adjacent months */\n showOutsideDays: boolean;\n};\n\nexport type CalendarMonth = {\n firstDayOfMonth: Date;\n lastDayOfMonth: Date;\n month: number;\n year: number;\n weeks: CalendarWeek[];\n};\n\nexport type CalendarWeek = CalendarDay[];\n\nexport type CalendarDay = DateInfo | string;\n\n/**\n * Figures what week/day data to return for the given month\n * and year. Adds flags to day data if found in the given selectedDates,\n * if is selectable inside the given min and max dates, or is today.\n * @param {Object} param The param object\n * @param {Number} param.month The month to grab data for\n * @param {Number} param.year The year to grab data for\n * @param {Array.<Date>} sparam.electedDates An array of dates currently selected\n * @param {Date} param.minDate The earliest date available\n * @param {Date} param.maxDate The furthest date available\n * @param {Number} param.firstDayOfWeek First day of week, 0-6 (Sunday to Saturday)\n * @param {Bool} param.showOutsideDays Flag to fill front and back weeks with dates from adjacent months\n * @returns {Object} The data for the selected month/year\n */\nfunction getMonths({\n month,\n year,\n selectedDates,\n minDate,\n maxDate,\n firstDayOfWeek,\n showOutsideDays,\n}: GetMonthsProps): CalendarMonth {\n // Get the normalized month and year, along with days in the month.\n const daysMonthYear = getNumDaysMonthYear(month, year);\n const daysInMonth = daysMonthYear.daysInMonth;\n month = daysMonthYear.month;\n year = daysMonthYear.year;\n\n // Fill out the dates for the month.\n const dates = [];\n for (let day = 1; day <= daysInMonth; day++) {\n const date = new Date(year, month, day);\n const dateObj = {\n date,\n selected: isSelected(selectedDates, date),\n selectable: isSelectable(minDate, maxDate, date),\n today: dayjs().isSame(date, \"day\"),\n prevMonth: false,\n nextMonth: false,\n };\n dates.push(dateObj);\n }\n\n const firstDayOfMonth = new Date(year, month, 1);\n const lastDayOfMonth = new Date(year, month, daysInMonth);\n\n const frontWeekBuffer = fillFrontWeek({\n firstDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n firstDayOfWeek,\n showOutsideDays,\n });\n\n const backWeekBuffer = fillBackWeek({\n lastDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n firstDayOfWeek,\n showOutsideDays,\n });\n\n dates.unshift(...frontWeekBuffer);\n dates.push(...backWeekBuffer);\n\n // Get the filled out weeks for the\n // given dates.\n const weeks = getWeeks(dates);\n // return the calendar data.\n return {\n firstDayOfMonth,\n lastDayOfMonth,\n month,\n year,\n weeks,\n };\n}\n\ntype FillFrontWeekProps = {\n firstDayOfMonth: Date;\n /** Date or dates currently selected. */\n selectedDates?: Date | Date[];\n /** The earliest date available */\n minDate?: Date;\n /** The earliest date available */\n maxDate?: Date;\n /** First day of week, 0-6 (Sunday to Saturday) */\n firstDayOfWeek: number;\n /** Flag to fill front and back weeks with dates from adjacent months */\n showOutsideDays: boolean;\n};\n\n/**\n * Fill front week with either empty buffer or dates from previous month,\n * depending on showOutsideDays flag\n * @param {Object} param The param object\n * @param {Array.<Date>} param.selectedDates An array of dates currently selected\n * @param {Date} param.minDate The earliest date available\n * @param {Date} param.maxDate The furthest date available\n * @param {Date} param.firstDayOfMonth First day of the month\n * @param {Number} param.firstDayOfWeek First day of week, 0-6 (Sunday to Saturday)\n * @param {Bool} param.showOutsideDays Flag to fill front and back weeks with dates from adjacent months\n * @returns {Array.<Date>} Buffer to fill front week\n */\nfunction fillFrontWeek({\n firstDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n firstDayOfWeek,\n showOutsideDays,\n}: FillFrontWeekProps): CalendarWeek {\n const dates: CalendarWeek = [];\n let firstDay = (firstDayOfMonth.getDay() + 7 - firstDayOfWeek) % 7;\n\n if (showOutsideDays) {\n const lastDayOfPrevMonth = dayjs(firstDayOfMonth).subtract(1, \"day\");\n const prevDate = lastDayOfPrevMonth.date();\n const prevDateMonth = lastDayOfPrevMonth.month();\n const prevDateYear = lastDayOfPrevMonth.year();\n\n // Fill out front week for days from\n // preceding month with dates from previous month.\n let counter = 0;\n while (counter < firstDay) {\n const date = new Date(\n prevDateYear,\n prevDateMonth,\n prevDate - counter,\n );\n const dateObj: DateInfo = {\n date,\n selected: isSelected(selectedDates, date),\n selectable: isSelectable(minDate, maxDate, date),\n today: false,\n prevMonth: true,\n nextMonth: false,\n };\n dates.unshift(dateObj);\n counter++;\n }\n } else {\n // Fill out front week for days from\n // preceding month with buffer.\n while (firstDay > 0) {\n dates.unshift(\"\");\n firstDay--;\n }\n }\n\n return dates;\n}\n\nexport type DateInfo = {\n date: Date;\n selected: boolean;\n selectable: boolean;\n today: boolean;\n prevMonth: boolean;\n nextMonth: boolean;\n};\n\ntype FillBackWeekProps = {\n lastDayOfMonth: Date;\n /** Date or dates currently selected. */\n selectedDates?: Date | Date[];\n /** The earliest date available */\n minDate?: Date;\n /** The earliest date available */\n maxDate?: Date;\n /** First day of week, 0-6 (Sunday to Saturday) */\n firstDayOfWeek: number;\n /** Flag to fill front and back weeks with dates from adjacent months */\n showOutsideDays: boolean;\n};\n\n/**\n * Fill back weeks with either empty buffer or dates from next month,\n * depending on showOutsideDays flag\n * @param {Object} param The param object\n * @param {Array.<Date>} param.selectedDates An array of dates currently selected\n * @param {Date} param.minDate The earliest date available\n * @param {Date} param.maxDate The furthest date available\n * @param {Date} param.lastDayOfMonth Last day of the month\n * @param {Number} param.firstDayOfWeek First day of week, 0-6 (Sunday to Saturday)\n * @param {Bool} param.showOutsideDays Flag to fill front and back weeks with dates from adjacent months\n * @returns {Array.<Date>} Buffer to fill back week\n */\nfunction fillBackWeek({\n lastDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n firstDayOfWeek,\n showOutsideDays,\n}: FillBackWeekProps): CalendarWeek {\n const dates: CalendarWeek = [];\n let lastDay = (lastDayOfMonth.getDay() + 7 - firstDayOfWeek) % 7;\n\n if (showOutsideDays) {\n const firstDayOfNextMonth = dayjs(lastDayOfMonth).add(1, \"day\");\n const nextDateMonth = firstDayOfNextMonth.month();\n const nextDateYear = firstDayOfNextMonth.year();\n\n // Fill out back week for days from\n // following month with dates from next month.\n let counter = 0;\n while (counter < 6 - lastDay) {\n const date = new Date(nextDateYear, nextDateMonth, 1 + counter);\n const dateObj: DateInfo = {\n date,\n selected: isSelected(selectedDates, date),\n selectable: isSelectable(minDate, maxDate, date),\n today: false,\n prevMonth: false,\n nextMonth: true,\n };\n dates.push(dateObj);\n counter++;\n }\n } else {\n // Fill out back week for days from\n // following month with buffer.\n while (lastDay < 6) {\n dates.push(\"\");\n lastDay++;\n }\n }\n\n return dates;\n}\n\n/**\n * Normalizes month (could be overflow) and year pairs and returns the\n * normalized month and year along with the number of days in the month.\n * @param {Number} month The month to normalize\n * @param {Number} year The year to normalize\n * @returns {Object} The normalized month and year along with the number of days in the month\n */\nfunction getNumDaysMonthYear(\n month: number,\n year: number,\n): { daysInMonth: number; month: number; year: number } {\n // If a parameter you specify is outside of the expected range for Month or Day,\n // JS Date attempts to update the date information in the Date object accordingly!\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate\n\n // Let Date handle the overflow of the month,\n // which should return the normalized month and year.\n const normalizedMonthYear = new Date(year, month, 1);\n const normalizedMonth = normalizedMonthYear.getMonth();\n const normalizedYear = normalizedMonthYear.getFullYear();\n // Overflow the date to the next month, then subtract the difference\n // to get the number of days in the previous month.\n // This will also account for leap years!\n const daysInMonth =\n 32 - new Date(normalizedYear, normalizedMonth, 32).getDate();\n return { daysInMonth, month: normalizedMonth, year: normalizedYear };\n}\n\n/**\n * Takes an array of dates, and turns them into a multi dimensional\n * array with 7 entries for each week.\n * @param {Array.<Object>} dates An array of dates\n * @returns {Array} The weeks as a multi dimensional array\n */\nfunction getWeeks(dates: CalendarWeek): Array<CalendarWeek> {\n const weeksLength = Math.ceil(dates.length / 7);\n const weeks: Array<CalendarWeek> = [];\n for (let i = 0; i < weeksLength; i++) {\n weeks[i] = [];\n for (let x = 0; x < 7; x++) {\n weeks[i].push(dates[i * 7 + x]);\n }\n }\n return weeks;\n}\n\n/**\n * Normalizes dates to the beginning of the day,\n * then checks to see if the day given is found\n * in the selectedDates.\n * @param {Array.<Date>} selectedDates An array of dates currently selected\n * @param {Date} date The date to search with against selectedDates\n * @returns {Boolean} Whether day is found in selectedDates\n */\nfunction isSelected(\n selectedDates: Date | Date[] | undefined,\n date: Date,\n): boolean {\n if (!selectedDates) {\n return false;\n }\n const dates = Array.isArray(selectedDates)\n ? selectedDates\n : [selectedDates];\n return dates.some((selectedDate) => {\n if (\n selectedDate instanceof Date &&\n dayjs(selectedDate).startOf(\"day\").valueOf() ===\n dayjs(date).startOf(\"day\").valueOf()\n ) {\n return true;\n }\n return false;\n });\n}\n\n/**\n * Checks to see if the date given is\n * between the min and max dates.\n * @param {Date} minDate The earliest date available\n * @param {Date} maxDate The furthest date available\n * @param {Date} date The date to compare with\n * @returns {Boolean} Whether the date is between min and max date\n */\nfunction isSelectable(\n minDate: Date | undefined,\n maxDate: Date | undefined,\n date: Date,\n): boolean {\n if (\n (minDate && dayjs(date).isBefore(minDate)) ||\n (maxDate && dayjs(date).isAfter(maxDate))\n ) {\n return false;\n }\n return true;\n}\n\n/**\n * Check if two Date objects represent the same day\n *\n * @param date1 first Date to compare\n * @param date2 second Date to compare\n */\nexport function isSameDay(date1: Date, date2: Date): boolean {\n return (\n date1.getDate() === date2.getDate() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getFullYear() === date2.getFullYear()\n );\n}\n\n/**\n * Check if the date has changed from the previous date\n *\n * @param date First date to compare\n * @param newDate Second date to compare\n */\nexport function dateHasChanged(date: Date | undefined, newDate: Date): boolean {\n return !date || !isSameDay(date, newDate);\n}\n\n/**\n * Check if a given date is outside a given range\n *\n * @param date Input date\n * @param rangeStart Dates before this date should be disabled\n * @param rangeEnd Dates after this date should be disabled\n */\nexport function dateIsOutsideRange(\n date: Date,\n rangeStart: Date | undefined,\n rangeEnd: Date | undefined,\n): boolean {\n return Boolean(\n (rangeEnd && date > rangeEnd) || (rangeStart && date < rangeStart),\n );\n}\n\n/**\n * Get the correct initial date for initiating the datepicker reducer store\n *\n * @param value Value from props\n * @param initialDate Initial date from porps\n * @param disableDate Function for checking whether the date should be disabled\n */\nexport function getInitialDate(\n value: string | undefined,\n defaultValue: string | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): Date | null {\n const valueAsDate = parseDateString(value);\n const defaultValueAsDate = parseDateString(defaultValue);\n if (valueAsDate) {\n return !dateIsOutsideRange(valueAsDate, minDate, maxDate)\n ? valueAsDate\n : null;\n }\n if (defaultValueAsDate) {\n return !dateIsOutsideRange(defaultValueAsDate, minDate, maxDate)\n ? defaultValueAsDate\n : null;\n }\n return null;\n}\n\n/**\n * Get the initial date to show in the calendar\n *\n * @param date The date set in the DatePicker (from props)\n * @param defaultSelected The defaultSelected prop from DatePicker\n * @param minDate The earliest selectable date, from props\n * @param maxDate The latest selectable date, from props\n * @returns The date to show in the calendar\n */\nexport function getInitialDateShown(\n date: Date | null,\n defaultSelected: Date | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): Date {\n let initialDate = date || defaultSelected || new Date();\n\n if (minDate) {\n initialDate = minDate > initialDate ? minDate : initialDate;\n }\n\n if (maxDate) {\n initialDate = maxDate < initialDate ? maxDate : initialDate;\n }\n\n return initialDate;\n}\n"],"names":["t","e","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","D","ms","Q","toLowerCase","replace","g","S","_","w","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","composeEventHandlers","fns","event","some","fn","defaultPrevented","subtractMonth","calendars","offset","minDate","firstDayOfMonth","diffInMonths","dayjs","DEFAULT_YEARS_TO_SHOW","getYearSelectOptions","currentYear","maxDate","yearsToShow","previousYearsToShow","comingYearsToShow","showAllYears","previous","coming","startYear","earliestStartYear","max","endYear","latestEndYear","numYears","keys","map","item","getMonthSelectOptions","monthNames","minDateYear","minDateMonth","maxDateYear","maxDateMonth","startMonth","endMonth","index","value","label","filter","parseInt","addMonth","lastDayOfMonth","isBackDisabled","isForwardDisabled","at","getCalendars","selected","monthsToDisplay","firstDayOfWeek","showOutsideDays","startDate","minDateNormalized","maxDateNormalized","getStartDate","calendarDates","getMonths","selectedDates","push","daysMonthYear","normalizedMonthYear","normalizedMonth","normalizedYear","getNumDaysMonthYear","dates","day","dateObj","isSelected","selectable","isSelectable","today","prevMonth","nextMonth","frontWeekBuffer","firstDay","lastDayOfPrevMonth","prevDate","prevDateMonth","prevDateYear","counter","unshift","fillFrontWeek","backWeekBuffer","lastDay","firstDayOfNextMonth","nextDateMonth","nextDateYear","fillBackWeek","weeks","weeksLength","getWeeks","isArray","selectedDate","isSameDay","date1","date2","dateHasChanged","newDate","dateIsOutsideRange","rangeStart","rangeEnd","getInitialDate","defaultValue","valueAsDate","parseDateString","defaultValueAsDate","getInitialDateShown","defaultSelected","initialDate"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"utils-CtwpNW4I.js","sources":["../../../node_modules/.pnpm/dayjs@1.11.19/node_modules/dayjs/dayjs.min.js","../src/components/datepicker/internal/utils.ts"],"sourcesContent":["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","/***\n * MIT License\n *\n * Copyright (c) 2017 Deseret Digital Media. 2022 Fremtind Forsikring AS.\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\n\nimport dayjs from \"dayjs\";\nimport React from \"react\";\nimport type { ValuePair } from \"../../../utilities/valuePair.js\";\nimport type { YearsToShow } from \"../types.js\";\nimport { parseDateString } from \"../utils.js\";\n\nexport function composeEventHandlers(\n ...fns: Array<React.MouseEventHandler | undefined>\n) {\n return (event: React.MouseEvent) =>\n fns.some((fn) => {\n fn?.(event);\n return event.defaultPrevented;\n });\n}\n\n/**\n * Takes a calendars array and figures out the number of months to subtract\n * based on the current offset and the minDate allowed.\n * @param {Object} param The param object\n * @param {Array} param.calendars The calendars array created by the getCalendars function\n * @param {Number} param.offset The num of months to be subtracted\n * @param {Date} param.minDate The earliest date we are allow to subtract back to\n * @returns {Number} The number of months to subtract\n */\nexport function subtractMonth({\n calendars,\n offset,\n minDate,\n}: {\n calendars: CalendarMonth[];\n offset: number;\n minDate?: Date;\n}): number {\n if (offset > 1 && minDate) {\n const { firstDayOfMonth } = calendars[0];\n const diffInMonths = dayjs(minDate).diff(firstDayOfMonth, \"months\");\n if (diffInMonths < offset) {\n offset = diffInMonths;\n }\n }\n return offset;\n}\n\nexport const DEFAULT_YEARS_TO_SHOW = 3;\n\n/**\n * Generates an array of year strings for a year selector component, with min and max dates taken into account.\n *\n * @param {number} currentYear - The current year to center the list around\n * @param {Date | undefined} [minDate] - The minimum date to include in the list of years\n * @param {Date | undefined} [maxDate] - The maximum date to include in the list of years\n *\n * @returns {string[]} - An array of year strings, starting from the earliest year specified by minDate or currentYear - 3, and ending at the latest year specified by maxDate or currentYear + 3\n */\nexport function getYearSelectOptions(\n currentYear: number,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n yearsToShow: YearsToShow,\n): string[] {\n if (minDate && minDate.getFullYear() > currentYear) {\n return [minDate.getFullYear().toString()];\n }\n\n if (maxDate && maxDate.getFullYear() < currentYear) {\n return [maxDate.getFullYear().toString()];\n }\n\n let showAllYears = false;\n let previousYearsToShow: number;\n let comingYearsToShow: number;\n\n if (yearsToShow === \"all\") {\n showAllYears = true;\n previousYearsToShow = DEFAULT_YEARS_TO_SHOW;\n comingYearsToShow = DEFAULT_YEARS_TO_SHOW;\n } else {\n previousYearsToShow =\n typeof yearsToShow === \"number\"\n ? yearsToShow\n : yearsToShow.previous;\n comingYearsToShow =\n typeof yearsToShow === \"number\" ? yearsToShow : yearsToShow.coming;\n }\n\n let startYear = currentYear - previousYearsToShow;\n if (minDate) {\n const earliestStartYear = showAllYears\n ? minDate.getFullYear()\n : startYear;\n startYear = Math.max(minDate.getFullYear(), earliestStartYear);\n }\n\n let endYear = currentYear + comingYearsToShow;\n if (maxDate) {\n const latestEndYear = showAllYears ? maxDate.getFullYear() : endYear;\n endYear = Math.min(maxDate.getFullYear(), latestEndYear);\n }\n\n // Sørg for å alltid vise minst ett år\n const numYears = Math.max(endYear - startYear + 1, 1);\n\n const range = [...Array(numYears).keys()].map((x) => x + startYear);\n const stringRange = range.map((item) => item.toString());\n\n return stringRange;\n}\n\n/**\n * Returns an array of months that are allowed for selection in the current year based on the minimum and maximum dates.\n * @param {number} currentYear The current year\n * @param {string[]} monthNames An array of strings representing the month names\n * @param {Date | undefined} minDate The minimum date that is allowed for selection\n * @param {Date | undefined} maxDate The maximum date that is allowed for selection\n * @returns {ValuePair[]} An array of ValuePairs representing the months that are allowed for selection in the current year\n */\nexport function getMonthSelectOptions(\n currentYear: number,\n monthNames: string[],\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): ValuePair[] {\n const minDateYear = minDate?.getFullYear() || currentYear;\n const minDateMonth =\n minDate?.getMonth() === undefined ? 0 : minDate.getMonth();\n const maxDateYear = maxDate?.getFullYear() || currentYear;\n const maxDateMonth =\n maxDate?.getMonth() === undefined ? 11 : maxDate.getMonth();\n\n let startMonth = 0;\n let endMonth = 11;\n\n if (minDateYear === currentYear) {\n startMonth = minDateMonth;\n }\n if (maxDateYear === currentYear) {\n endMonth = maxDateMonth;\n }\n\n const filteredMonths = monthNames\n .map((month, index) => ({\n value: index.toString(),\n label: month,\n }))\n .filter(\n ({ value }) =>\n Number.parseInt(value) >= startMonth &&\n Number.parseInt(value) <= endMonth,\n );\n\n return filteredMonths;\n}\n\n/**s\n * Takes a calendars array and figures out the number of months to add\n * based on the current offset and the maxDate allowed.\n * @param {Object} param The param object\n * @param {Array} param.calendars The calendars array created by the getCalendars function\n * @param {Number} param.offset The num of months to be added\n * @param {Date} param.maxDate The furthest date we are allow to add forward to\n * @returns {Number} The number of months to add\n */\nexport function addMonth({\n calendars,\n offset,\n maxDate,\n}: {\n calendars: CalendarMonth[];\n offset: number;\n maxDate?: Date;\n}): number {\n if (offset > 1 && maxDate) {\n const { lastDayOfMonth } = calendars[calendars.length - 1];\n const diffInMonths = dayjs(maxDate).diff(lastDayOfMonth, \"months\");\n if (diffInMonths < offset) {\n offset = diffInMonths;\n }\n }\n return offset;\n}\n\n/**\n * Takes a calendars array and figures out if the back button should be\n * disabled based on the minDate allowed.\n * @param {Object} param The param object\n * @param {Array} param.calendars The calendars array created by the getCalendars function\n * @param {Date} param.minDate The earliest date available\n * @returns {Boolean} Whether the back button should be disabled.\n */\nexport function isBackDisabled({\n calendars,\n minDate,\n}: {\n calendars: CalendarMonth[];\n minDate?: Date;\n}): boolean {\n if (!minDate) {\n return false;\n }\n\n return dayjs(calendars[0].firstDayOfMonth)\n .subtract(1, \"day\")\n .isBefore(minDate);\n}\n\n/**\n * Takes a calendars array and figures out if the forward button should be\n * disabled based on the maxDate allowed.\n * @param {Object} param The param object\n * @param {Array} param.calendars The calendars array created by the getCalendars function\n * @param {Date} param.maxDate The furthest date available\n * @returns {Boolean} Whether the forward button should be disabled.\n */\nexport function isForwardDisabled({\n calendars,\n maxDate,\n}: {\n calendars: CalendarMonth[];\n maxDate?: Date;\n}): boolean {\n if (!maxDate) {\n return false;\n }\n\n return dayjs(calendars.at(-1)?.lastDayOfMonth)\n .add(1, \"day\")\n .isAfter(maxDate);\n}\n\ntype GetCalendarProps = {\n /** The date to start the calendar at */\n date: Date;\n /** Date or dates currently selected. */\n selected?: Date | Date[];\n /** The earliest date available */\n minDate?: Date;\n /** The earliest date available */\n maxDate?: Date;\n /** The number of months to return in the calendar view */\n monthsToDisplay: number;\n /** The number of months to offset based off the param.date given */\n offset: number;\n /** First day of week, 0-6 (Sunday to Saturday) */\n firstDayOfWeek: number;\n /** Flag to fill front and back weeks with dates from adjacent months */\n showOutsideDays: boolean;\n};\n\n/**\n * Figures out the months data needed based off the number of monthsToDisplay\n * and other options provided.\n * @param {Object} param The param object\n * @param {Date} param.date The date to start the calendar at\n * @param {Array.<Date>} param.selected An array of dates currently selected\n * @param {Number} param.monthsToDisplay The number of months to return in the calendar view\n * @param {Number} param.offset The number of months to offset based off the param.date given\n * @param {Date} param.minDate The earliest date available\n * @param {Date} param.maxDate The furthest date available\n * @param {Number} param.firstDayOfWeek First day of week, 0-6 (Sunday to Saturday)\n * @param {Bool} param.showOutsideDays Flag to fill front and back weeks with dates from adjacent months\n * @returns {Array.<Object>} An array of objects with month data\n */\nexport function getCalendars({\n date,\n selected,\n monthsToDisplay,\n offset,\n minDate,\n maxDate,\n firstDayOfWeek,\n showOutsideDays,\n}: GetCalendarProps): CalendarMonth[] {\n const months: CalendarMonth[] = [];\n const startDate = getStartDate(date, minDate, maxDate);\n for (let i = 0; i < monthsToDisplay; i++) {\n const calendarDates = getMonths({\n month: startDate.getMonth() + i + offset,\n year: startDate.getFullYear(),\n selectedDates: selected,\n minDate,\n maxDate,\n firstDayOfWeek,\n showOutsideDays,\n });\n months.push(calendarDates);\n }\n return months;\n}\n\n/**\n * Figures out the actual start date based on\n * the min and max dates available.\n * @param {Date} date The we want to start the calendar at\n * @param {Date} minDate The earliest date available to start at\n * @param {Date} maxDate The latest date available to start at\n * @returns {Date} The actual start date\n */\nfunction getStartDate(date: Date, minDate?: Date, maxDate?: Date): Date {\n let startDate = dayjs(date).startOf(\"day\");\n if (minDate) {\n const minDateNormalized = dayjs(minDate).startOf(\"day\");\n if (startDate.isBefore(minDateNormalized)) {\n startDate = minDateNormalized;\n }\n }\n if (maxDate) {\n const maxDateNormalized = dayjs(maxDate).startOf(\"day\");\n if (startDate.isAfter(maxDateNormalized)) {\n startDate = maxDateNormalized;\n }\n }\n return startDate.toDate();\n}\n\ntype GetMonthsProps = {\n /** The month to grab data for */\n month: number;\n /** The year to grab data for */\n year: number;\n /** Date or dates currently selected. */\n selectedDates?: Date | Date[];\n /** The earliest date available */\n minDate?: Date;\n /** The earliest date available */\n maxDate?: Date;\n /** First day of week, 0-6 (Sunday to Saturday) */\n firstDayOfWeek: number;\n /** Flag to fill front and back weeks with dates from adjacent months */\n showOutsideDays: boolean;\n};\n\nexport type CalendarMonth = {\n firstDayOfMonth: Date;\n lastDayOfMonth: Date;\n month: number;\n year: number;\n weeks: CalendarWeek[];\n};\n\nexport type CalendarWeek = CalendarDay[];\n\nexport type CalendarDay = DateInfo | string;\n\n/**\n * Figures what week/day data to return for the given month\n * and year. Adds flags to day data if found in the given selectedDates,\n * if is selectable inside the given min and max dates, or is today.\n * @param {Object} param The param object\n * @param {Number} param.month The month to grab data for\n * @param {Number} param.year The year to grab data for\n * @param {Array.<Date>} sparam.electedDates An array of dates currently selected\n * @param {Date} param.minDate The earliest date available\n * @param {Date} param.maxDate The furthest date available\n * @param {Number} param.firstDayOfWeek First day of week, 0-6 (Sunday to Saturday)\n * @param {Bool} param.showOutsideDays Flag to fill front and back weeks with dates from adjacent months\n * @returns {Object} The data for the selected month/year\n */\nfunction getMonths({\n month,\n year,\n selectedDates,\n minDate,\n maxDate,\n firstDayOfWeek,\n showOutsideDays,\n}: GetMonthsProps): CalendarMonth {\n // Get the normalized month and year, along with days in the month.\n const daysMonthYear = getNumDaysMonthYear(month, year);\n const daysInMonth = daysMonthYear.daysInMonth;\n month = daysMonthYear.month;\n year = daysMonthYear.year;\n\n // Fill out the dates for the month.\n const dates = [];\n for (let day = 1; day <= daysInMonth; day++) {\n const date = new Date(year, month, day);\n const dateObj = {\n date,\n selected: isSelected(selectedDates, date),\n selectable: isSelectable(minDate, maxDate, date),\n today: dayjs().isSame(date, \"day\"),\n prevMonth: false,\n nextMonth: false,\n };\n dates.push(dateObj);\n }\n\n const firstDayOfMonth = new Date(year, month, 1);\n const lastDayOfMonth = new Date(year, month, daysInMonth);\n\n const frontWeekBuffer = fillFrontWeek({\n firstDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n firstDayOfWeek,\n showOutsideDays,\n });\n\n const backWeekBuffer = fillBackWeek({\n lastDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n firstDayOfWeek,\n showOutsideDays,\n });\n\n dates.unshift(...frontWeekBuffer);\n dates.push(...backWeekBuffer);\n\n // Get the filled out weeks for the\n // given dates.\n const weeks = getWeeks(dates);\n // return the calendar data.\n return {\n firstDayOfMonth,\n lastDayOfMonth,\n month,\n year,\n weeks,\n };\n}\n\ntype FillFrontWeekProps = {\n firstDayOfMonth: Date;\n /** Date or dates currently selected. */\n selectedDates?: Date | Date[];\n /** The earliest date available */\n minDate?: Date;\n /** The earliest date available */\n maxDate?: Date;\n /** First day of week, 0-6 (Sunday to Saturday) */\n firstDayOfWeek: number;\n /** Flag to fill front and back weeks with dates from adjacent months */\n showOutsideDays: boolean;\n};\n\n/**\n * Fill front week with either empty buffer or dates from previous month,\n * depending on showOutsideDays flag\n * @param {Object} param The param object\n * @param {Array.<Date>} param.selectedDates An array of dates currently selected\n * @param {Date} param.minDate The earliest date available\n * @param {Date} param.maxDate The furthest date available\n * @param {Date} param.firstDayOfMonth First day of the month\n * @param {Number} param.firstDayOfWeek First day of week, 0-6 (Sunday to Saturday)\n * @param {Bool} param.showOutsideDays Flag to fill front and back weeks with dates from adjacent months\n * @returns {Array.<Date>} Buffer to fill front week\n */\nfunction fillFrontWeek({\n firstDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n firstDayOfWeek,\n showOutsideDays,\n}: FillFrontWeekProps): CalendarWeek {\n const dates: CalendarWeek = [];\n let firstDay = (firstDayOfMonth.getDay() + 7 - firstDayOfWeek) % 7;\n\n if (showOutsideDays) {\n const lastDayOfPrevMonth = dayjs(firstDayOfMonth).subtract(1, \"day\");\n const prevDate = lastDayOfPrevMonth.date();\n const prevDateMonth = lastDayOfPrevMonth.month();\n const prevDateYear = lastDayOfPrevMonth.year();\n\n // Fill out front week for days from\n // preceding month with dates from previous month.\n let counter = 0;\n while (counter < firstDay) {\n const date = new Date(\n prevDateYear,\n prevDateMonth,\n prevDate - counter,\n );\n const dateObj: DateInfo = {\n date,\n selected: isSelected(selectedDates, date),\n selectable: isSelectable(minDate, maxDate, date),\n today: false,\n prevMonth: true,\n nextMonth: false,\n };\n dates.unshift(dateObj);\n counter++;\n }\n } else {\n // Fill out front week for days from\n // preceding month with buffer.\n while (firstDay > 0) {\n dates.unshift(\"\");\n firstDay--;\n }\n }\n\n return dates;\n}\n\nexport type DateInfo = {\n date: Date;\n selected: boolean;\n selectable: boolean;\n today: boolean;\n prevMonth: boolean;\n nextMonth: boolean;\n};\n\ntype FillBackWeekProps = {\n lastDayOfMonth: Date;\n /** Date or dates currently selected. */\n selectedDates?: Date | Date[];\n /** The earliest date available */\n minDate?: Date;\n /** The earliest date available */\n maxDate?: Date;\n /** First day of week, 0-6 (Sunday to Saturday) */\n firstDayOfWeek: number;\n /** Flag to fill front and back weeks with dates from adjacent months */\n showOutsideDays: boolean;\n};\n\n/**\n * Fill back weeks with either empty buffer or dates from next month,\n * depending on showOutsideDays flag\n * @param {Object} param The param object\n * @param {Array.<Date>} param.selectedDates An array of dates currently selected\n * @param {Date} param.minDate The earliest date available\n * @param {Date} param.maxDate The furthest date available\n * @param {Date} param.lastDayOfMonth Last day of the month\n * @param {Number} param.firstDayOfWeek First day of week, 0-6 (Sunday to Saturday)\n * @param {Bool} param.showOutsideDays Flag to fill front and back weeks with dates from adjacent months\n * @returns {Array.<Date>} Buffer to fill back week\n */\nfunction fillBackWeek({\n lastDayOfMonth,\n minDate,\n maxDate,\n selectedDates,\n firstDayOfWeek,\n showOutsideDays,\n}: FillBackWeekProps): CalendarWeek {\n const dates: CalendarWeek = [];\n let lastDay = (lastDayOfMonth.getDay() + 7 - firstDayOfWeek) % 7;\n\n if (showOutsideDays) {\n const firstDayOfNextMonth = dayjs(lastDayOfMonth).add(1, \"day\");\n const nextDateMonth = firstDayOfNextMonth.month();\n const nextDateYear = firstDayOfNextMonth.year();\n\n // Fill out back week for days from\n // following month with dates from next month.\n let counter = 0;\n while (counter < 6 - lastDay) {\n const date = new Date(nextDateYear, nextDateMonth, 1 + counter);\n const dateObj: DateInfo = {\n date,\n selected: isSelected(selectedDates, date),\n selectable: isSelectable(minDate, maxDate, date),\n today: false,\n prevMonth: false,\n nextMonth: true,\n };\n dates.push(dateObj);\n counter++;\n }\n } else {\n // Fill out back week for days from\n // following month with buffer.\n while (lastDay < 6) {\n dates.push(\"\");\n lastDay++;\n }\n }\n\n return dates;\n}\n\n/**\n * Normalizes month (could be overflow) and year pairs and returns the\n * normalized month and year along with the number of days in the month.\n * @param {Number} month The month to normalize\n * @param {Number} year The year to normalize\n * @returns {Object} The normalized month and year along with the number of days in the month\n */\nfunction getNumDaysMonthYear(\n month: number,\n year: number,\n): { daysInMonth: number; month: number; year: number } {\n // If a parameter you specify is outside of the expected range for Month or Day,\n // JS Date attempts to update the date information in the Date object accordingly!\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setMonth\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setDate\n\n // Let Date handle the overflow of the month,\n // which should return the normalized month and year.\n const normalizedMonthYear = new Date(year, month, 1);\n const normalizedMonth = normalizedMonthYear.getMonth();\n const normalizedYear = normalizedMonthYear.getFullYear();\n // Overflow the date to the next month, then subtract the difference\n // to get the number of days in the previous month.\n // This will also account for leap years!\n const daysInMonth =\n 32 - new Date(normalizedYear, normalizedMonth, 32).getDate();\n return { daysInMonth, month: normalizedMonth, year: normalizedYear };\n}\n\n/**\n * Takes an array of dates, and turns them into a multi dimensional\n * array with 7 entries for each week.\n * @param {Array.<Object>} dates An array of dates\n * @returns {Array} The weeks as a multi dimensional array\n */\nfunction getWeeks(dates: CalendarWeek): Array<CalendarWeek> {\n const weeksLength = Math.ceil(dates.length / 7);\n const weeks: Array<CalendarWeek> = [];\n for (let i = 0; i < weeksLength; i++) {\n weeks[i] = [];\n for (let x = 0; x < 7; x++) {\n weeks[i].push(dates[i * 7 + x]);\n }\n }\n return weeks;\n}\n\n/**\n * Normalizes dates to the beginning of the day,\n * then checks to see if the day given is found\n * in the selectedDates.\n * @param {Array.<Date>} selectedDates An array of dates currently selected\n * @param {Date} date The date to search with against selectedDates\n * @returns {Boolean} Whether day is found in selectedDates\n */\nfunction isSelected(\n selectedDates: Date | Date[] | undefined,\n date: Date,\n): boolean {\n if (!selectedDates) {\n return false;\n }\n const dates = Array.isArray(selectedDates)\n ? selectedDates\n : [selectedDates];\n return dates.some((selectedDate) => {\n if (\n selectedDate instanceof Date &&\n dayjs(selectedDate).startOf(\"day\").valueOf() ===\n dayjs(date).startOf(\"day\").valueOf()\n ) {\n return true;\n }\n return false;\n });\n}\n\n/**\n * Checks to see if the date given is\n * between the min and max dates.\n * @param {Date} minDate The earliest date available\n * @param {Date} maxDate The furthest date available\n * @param {Date} date The date to compare with\n * @returns {Boolean} Whether the date is between min and max date\n */\nfunction isSelectable(\n minDate: Date | undefined,\n maxDate: Date | undefined,\n date: Date,\n): boolean {\n if (\n (minDate && dayjs(date).isBefore(minDate)) ||\n (maxDate && dayjs(date).isAfter(maxDate))\n ) {\n return false;\n }\n return true;\n}\n\n/**\n * Check if two Date objects represent the same day\n *\n * @param date1 first Date to compare\n * @param date2 second Date to compare\n */\nexport function isSameDay(date1: Date, date2: Date): boolean {\n return (\n date1.getDate() === date2.getDate() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getFullYear() === date2.getFullYear()\n );\n}\n\n/**\n * Check if the date has changed from the previous date\n *\n * @param date First date to compare\n * @param newDate Second date to compare\n */\nexport function dateHasChanged(date: Date | undefined, newDate: Date): boolean {\n return !date || !isSameDay(date, newDate);\n}\n\n/**\n * Check if a given date is outside a given range\n *\n * @param date Input date\n * @param rangeStart Dates before this date should be disabled\n * @param rangeEnd Dates after this date should be disabled\n */\nexport function dateIsOutsideRange(\n date: Date,\n rangeStart: Date | undefined,\n rangeEnd: Date | undefined,\n): boolean {\n return Boolean(\n (rangeEnd && date > rangeEnd) || (rangeStart && date < rangeStart),\n );\n}\n\n/**\n * Get the correct initial date for initiating the datepicker reducer store\n *\n * @param value Value from props\n * @param initialDate Initial date from porps\n * @param disableDate Function for checking whether the date should be disabled\n */\nexport function getInitialDate(\n value: string | undefined,\n defaultValue: string | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): Date | null {\n const valueAsDate = parseDateString(value);\n const defaultValueAsDate = parseDateString(defaultValue);\n if (valueAsDate) {\n return !dateIsOutsideRange(valueAsDate, minDate, maxDate)\n ? valueAsDate\n : null;\n }\n if (defaultValueAsDate) {\n return !dateIsOutsideRange(defaultValueAsDate, minDate, maxDate)\n ? defaultValueAsDate\n : null;\n }\n return null;\n}\n\n/**\n * Get the initial date to show in the calendar\n *\n * @param date The date set in the DatePicker (from props)\n * @param defaultSelected The defaultSelected prop from DatePicker\n * @param minDate The earliest selectable date, from props\n * @param maxDate The latest selectable date, from props\n * @returns The date to show in the calendar\n */\nexport function getInitialDateShown(\n date: Date | null,\n defaultSelected: Date | undefined,\n minDate: Date | undefined,\n maxDate: Date | undefined,\n): Date {\n let initialDate = date || defaultSelected || new Date();\n\n if (minDate) {\n initialDate = minDate > initialDate ? minDate : initialDate;\n }\n\n if (maxDate) {\n initialDate = maxDate < initialDate ? maxDate : initialDate;\n }\n\n return initialDate;\n}\n"],"names":["t","e","n","r","i","s","u","a","o","c","f","h","d","l","$","y","M","name","weekdays","split","months","ordinal","m","String","length","Array","join","v","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","D","ms","Q","toLowerCase","replace","g","S","_","w","O","args","arguments","b","locale","$L","utc","$u","x","$x","$offset","this","parse","prototype","$d","Date","NaN","test","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isValid","toString","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","get","Number","round","subtract","format","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","k","forEach","extend","$i","isDayjs","en","Ls","composeEventHandlers","fns","event","some","fn","defaultPrevented","subtractMonth","calendars","offset","minDate","firstDayOfMonth","diffInMonths","dayjs","DEFAULT_YEARS_TO_SHOW","getYearSelectOptions","currentYear","maxDate","yearsToShow","previousYearsToShow","comingYearsToShow","showAllYears","previous","coming","startYear","earliestStartYear","max","endYear","latestEndYear","numYears","keys","map","item","getMonthSelectOptions","monthNames","minDateYear","minDateMonth","maxDateYear","maxDateMonth","startMonth","endMonth","index","value","label","filter","parseInt","addMonth","lastDayOfMonth","isBackDisabled","isForwardDisabled","at","getCalendars","selected","monthsToDisplay","firstDayOfWeek","showOutsideDays","startDate","minDateNormalized","maxDateNormalized","getStartDate","calendarDates","getMonths","selectedDates","push","daysMonthYear","normalizedMonthYear","normalizedMonth","normalizedYear","getNumDaysMonthYear","dates","day","dateObj","isSelected","selectable","isSelectable","today","prevMonth","nextMonth","frontWeekBuffer","firstDay","lastDayOfPrevMonth","prevDate","prevDateMonth","prevDateYear","counter","unshift","fillFrontWeek","backWeekBuffer","lastDay","firstDayOfNextMonth","nextDateMonth","nextDateYear","fillBackWeek","weeks","weeksLength","getWeeks","isArray","selectedDate","isSameDay","date1","date2","dateHasChanged","newDate","dateIsOutsideRange","rangeStart","rangeEnd","getInitialDate","defaultValue","valueAsDate","parseDateString","defaultValueAsDate","getInitialDateShown","defaultSelected","initialDate"],"mappings":"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","x_google_ignoreList":[0]}
@@ -337,7 +337,7 @@ test("returns changed: false for an already-migrated file", () => {
337
337
 
338
338
  test("does not rename token that is a prefix of a longer token", () => {
339
339
  // --jkl-color-text-inverted should not match inside --jkl-color-text-inverted-extra
340
- const source = `.x { color: var(--jkl-color-text-inverted-extra); }`;
340
+ const source = ".x { color: var(--jkl-color-text-inverted-extra); }";
341
341
 
342
342
  const result = transformImportPaths(source, "/tmp/x.css");
343
343
 
@@ -346,7 +346,7 @@ test("does not rename token that is a prefix of a longer token", () => {
346
346
  });
347
347
 
348
348
  test("does not rename --jkl-color-background-container (base token, not a v4 token)", () => {
349
- const source = `.x { background: var(--jkl-color-background-container); }`;
349
+ const source = ".x { background: var(--jkl-color-background-container); }";
350
350
 
351
351
  const result = transformImportPaths(source, "/tmp/x.css");
352
352
 
@@ -372,7 +372,7 @@ test("renames container-high but leaves sibling container-low and base container
372
372
  });
373
373
 
374
374
  test("does not rename alert-info token that has a longer suffix", () => {
375
- const source = `.x { background: var(--jkl-color-background-alert-info-extra); }`;
375
+ const source = ".x { background: var(--jkl-color-background-alert-info-extra); }";
376
376
 
377
377
  const result = transformImportPaths(source, "/tmp/x.css");
378
378
 
@@ -3,13 +3,34 @@ import { replaceSpecifier, replaceTailwindClass } from "../utils.mjs";
3
3
  // Sortert lengst-først: spesifikke tokens (f.eks. -alert-info) må ikke bli
4
4
  // delvis matchet av kortere prefiks.
5
5
  const CSS_TOKEN_RENAMES = [
6
- ["--jkl-color-background-alert-warning", "--jkl-color-warning-background-container"],
7
- ["--jkl-color-background-alert-success", "--jkl-color-success-background-container"],
8
- ["--jkl-color-background-alert-error", "--jkl-color-error-background-container"],
9
- ["--jkl-color-background-alert-info", "--jkl-color-info-background-container"],
10
- ["--jkl-color-background-container-high", "--jkl-color-background-container"],
11
- ["--jkl-color-background-container-low", "--jkl-color-background-container"],
12
- ["--jkl-color-background-container-inverted", "--jkl-color-background-contrast"],
6
+ [
7
+ "--jkl-color-background-alert-warning",
8
+ "--jkl-color-warning-background-container",
9
+ ],
10
+ [
11
+ "--jkl-color-background-alert-success",
12
+ "--jkl-color-success-background-container",
13
+ ],
14
+ [
15
+ "--jkl-color-background-alert-error",
16
+ "--jkl-color-error-background-container",
17
+ ],
18
+ [
19
+ "--jkl-color-background-alert-info",
20
+ "--jkl-color-info-background-container",
21
+ ],
22
+ [
23
+ "--jkl-color-background-container-high",
24
+ "--jkl-color-background-container",
25
+ ],
26
+ [
27
+ "--jkl-color-background-container-low",
28
+ "--jkl-color-background-container",
29
+ ],
30
+ [
31
+ "--jkl-color-background-container-inverted",
32
+ "--jkl-color-background-contrast",
33
+ ],
13
34
  ["--jkl-color-background-action", "--jkl-color-background-contrast"],
14
35
  ["--jkl-color-text-on-action", "--jkl-color-text-on-contrast"],
15
36
  ["--jkl-color-text-inverted", "--jkl-color-text-on-contrast"],
@@ -67,7 +88,11 @@ export function applyTailwindColorRenames(text) {
67
88
 
68
89
  for (const [fromKey, toKey] of TAILWIND_COLOR_RENAMES) {
69
90
  for (const prefix of TAILWIND_COLOR_PREFIXES) {
70
- const result = replaceTailwindClass(next, `${prefix}-${fromKey}`, `${prefix}-${toKey}`);
91
+ const result = replaceTailwindClass(
92
+ next,
93
+ `${prefix}-${fromKey}`,
94
+ `${prefix}-${toKey}`,
95
+ );
71
96
  next = result.text;
72
97
  count += result.count;
73
98
  }
@@ -5,10 +5,7 @@ const DIRECT_REPLACEMENTS = [
5
5
  "@fremtind/jokul/styles/core/core.min.css",
6
6
  "@fremtind/jokul/styles/base.min.css",
7
7
  ],
8
- [
9
- "@fremtind/jokul/styles/core/core.css",
10
- "@fremtind/jokul/styles/base.css",
11
- ],
8
+ ["@fremtind/jokul/styles/core/core.css", "@fremtind/jokul/styles/base.css"],
12
9
  [
13
10
  "@fremtind/jokul/styles/core/core.scss",
14
11
  "@fremtind/jokul/styles/base.scss",
@@ -18,16 +15,16 @@ const DIRECT_REPLACEMENTS = [
18
15
  "@fremtind/jokul/styles/styles.min.css",
19
16
  "@fremtind/jokul/styles/components.min.css",
20
17
  ],
21
- ["@fremtind/jokul/styles/styles.css", "@fremtind/jokul/styles/components.css"],
18
+ [
19
+ "@fremtind/jokul/styles/styles.css",
20
+ "@fremtind/jokul/styles/components.css",
21
+ ],
22
22
  [
23
23
  "@fremtind/jokul/styles/styles.scss",
24
24
  "@fremtind/jokul/styles/components.scss",
25
25
  ],
26
26
  ["@fremtind/jokul/styles/styles", "@fremtind/jokul/styles/components"],
27
- [
28
- "@fremtind/jokul/styles/core/jkl/index",
29
- "@fremtind/jokul/styles/jkl",
30
- ],
27
+ ["@fremtind/jokul/styles/core/jkl/index", "@fremtind/jokul/styles/jkl"],
31
28
  ["@fremtind/jokul/styles/core/jkl", "@fremtind/jokul/styles/jkl"],
32
29
  [
33
30
  "@fremtind/jokul/styles/fonts/webfonts.scss",
@@ -110,9 +107,8 @@ const BETA_STYLE_MIGRATIONS = [
110
107
  const WEBFONTS_CSS_SPECIFIER =
111
108
  "@fremtind/jokul/styles/fonts/webfonts(?:\\.min)?\\.css";
112
109
 
113
- export const BASE_OR_COMPONENT_CSS_PATTERN = new RegExp(
114
- "@fremtind/jokul/styles/(?:base|components)(?:\\.min)?\\.css",
115
- );
110
+ export const BASE_OR_COMPONENT_CSS_PATTERN =
111
+ /@fremtind\/jokul\/styles\/(?:base|components)(?:\.min)?\.css/;
116
112
 
117
113
  const WEBFONTS_CSS_REMOVAL_PATTERNS = [
118
114
  // import "@fremtind/jokul/styles/fonts/webfonts.css"; (ESM)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fremtind/jokul",
3
- "version": "5.0.0-next.11",
3
+ "version": "5.0.0-next.13",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -83,8 +83,8 @@
83
83
  "devDependencies": {
84
84
  "@babel/cli": "^7.28.6",
85
85
  "@babel/preset-react": "^7.27.1",
86
- "@figma/code-connect": "^1.3.8",
87
- "@rollup/plugin-terser": "^0.4.4",
86
+ "@figma/code-connect": "^1.4.4",
87
+ "@rollup/plugin-terser": "^1.0.0",
88
88
  "@types/react": "18.3.1",
89
89
  "@vitejs/plugin-react": "^4.7.0",
90
90
  "@vitejs/plugin-react-swc": "^3.11.0",
@@ -109,7 +109,7 @@
109
109
  "style-dictionary": "^5.0.1",
110
110
  "tailwindcss": "^3.4.17",
111
111
  "tsx": "^4.20.6",
112
- "vite": "^7.1.2",
112
+ "vite": "^7.3.2",
113
113
  "vite-plugin-dts": "^4.5.4",
114
114
  "vitest": "^3.2.4",
115
115
  "vitest-axe": "^0.1.0"
@@ -8,8 +8,8 @@
8
8
  --jkl-autosuggest-controller-button-width: auto;
9
9
  --jkl-autosuggest-controller-button-padding: 0 var(--jkl-unit-15);
10
10
  --jkl-autosuggest-controller-button-icon-size: 1.25rem;
11
- --jkl-autosuggest-option-padding: var(--jkl-unit-10) 0.75em;
12
- --jkl-autosuggest-option-height: 3rem;
11
+ --jkl-autosuggest-option-padding: var(--jkl-unit-10);
12
+ --jkl-autosuggest-option-height: min(var(--jkl-unit-60), 3rem);
13
13
  display: flex;
14
14
  flex-direction: column;
15
15
  align-items: flex-start;
@@ -49,6 +49,7 @@
49
49
  color: unset;
50
50
  display: flex;
51
51
  align-items: center;
52
+ box-sizing: border-box;
52
53
  border: 0;
53
54
  background-color: transparent;
54
55
  min-height: var(--jkl-autosuggest-option-height);
@@ -62,6 +63,6 @@
62
63
  }
63
64
  .jkl-autosuggest__item:focus, .jkl-autosuggest__item--active, .jkl-autosuggest__item:hover {
64
65
  color: var(--jkl-color-text-default);
65
- background-color: color-mix(in srgb, currentColor 10%, transparent);
66
+ background-color: var(--jkl-color-background-container-accent);
66
67
  }
67
68
  }
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-autosuggest{--border-radius:var(--jkl-border-radius-s);--jkl-autosuggest-menu-padding:var(--jkl-unit-20) var(--jkl-unit-10) 0;--jkl-autosuggest-controller-button-width:auto;--jkl-autosuggest-controller-button-padding:0 var(--jkl-unit-15);--jkl-autosuggest-controller-button-icon-size:1.25rem;--jkl-autosuggest-option-padding:var(--jkl-unit-10) 0.75em;--jkl-autosuggest-option-height:3rem;align-items:flex-start;display:flex;flex-direction:column;position:relative}.jkl-autosuggest[aria-expanded=true] .jkl-text-input-wrapper{border-radius:var(--border-radius) var(--border-radius) 0 0}.jkl-autosuggest__no-hits-message{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);padding:var(--jkl-autosuggest-option-padding)}.jkl-autosuggest__menu{background-color:var(--jkl-color-background-container);border:.125rem solid var(--jkl-color-border-strong);border-radius:0 0 var(--border-radius) var(--border-radius);border-top:none;box-sizing:border-box;inset:100% -.0625rem auto;margin:0;max-height:60vh;overflow-y:auto;padding:0;position:absolute;width:calc(100% + .125rem);z-index:7000;-webkit-overflow-scrolling:touch}.jkl-autosuggest__item-list{list-style-type:none;margin:0;padding:0}.jkl-autosuggest__item{align-items:center;background-color:transparent;border:0;color:unset;cursor:pointer;display:flex;font:var(--jkl-text-style-text-small);min-height:var(--jkl-autosuggest-option-height);padding:var(--jkl-autosuggest-option-padding);position:relative;text-align:left;transition-duration:var(--jkl-motion-timing-productive);transition-property:color,background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-autosuggest__item--active,.jkl-autosuggest__item:focus,.jkl-autosuggest__item:hover{background-color:color-mix(in srgb,currentColor 10%,transparent);color:var(--jkl-color-text-default)}}
1
+ @layer jokul.components{.jkl-autosuggest{--border-radius:var(--jkl-border-radius-s);--jkl-autosuggest-menu-padding:var(--jkl-unit-20) var(--jkl-unit-10) 0;--jkl-autosuggest-controller-button-width:auto;--jkl-autosuggest-controller-button-padding:0 var(--jkl-unit-15);--jkl-autosuggest-controller-button-icon-size:1.25rem;--jkl-autosuggest-option-padding:var(--jkl-unit-10);--jkl-autosuggest-option-height:min(var(--jkl-unit-60),3rem);align-items:flex-start;display:flex;flex-direction:column;position:relative}.jkl-autosuggest[aria-expanded=true] .jkl-text-input-wrapper{border-radius:var(--border-radius) var(--border-radius) 0 0}.jkl-autosuggest__no-hits-message{color:var(--jkl-color-text-subdued);font:var(--jkl-text-style-text-small);padding:var(--jkl-autosuggest-option-padding)}.jkl-autosuggest__menu{background-color:var(--jkl-color-background-container);border:.125rem solid var(--jkl-color-border-strong);border-radius:0 0 var(--border-radius) var(--border-radius);border-top:none;box-sizing:border-box;inset:100% -.0625rem auto;margin:0;max-height:60vh;overflow-y:auto;padding:0;position:absolute;width:calc(100% + .125rem);z-index:7000;-webkit-overflow-scrolling:touch}.jkl-autosuggest__item-list{list-style-type:none;margin:0;padding:0}.jkl-autosuggest__item{align-items:center;background-color:transparent;border:0;box-sizing:border-box;color:unset;cursor:pointer;display:flex;font:var(--jkl-text-style-text-small);min-height:var(--jkl-autosuggest-option-height);padding:var(--jkl-autosuggest-option-padding);position:relative;text-align:left;transition-duration:var(--jkl-motion-timing-productive);transition-property:color,background-color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-autosuggest__item--active,.jkl-autosuggest__item:focus,.jkl-autosuggest__item:hover{background-color:var(--jkl-color-background-container-accent);color:var(--jkl-color-text-default)}}
@@ -7,8 +7,8 @@
7
7
  --jkl-autosuggest-controller-button-width: auto;
8
8
  --jkl-autosuggest-controller-button-padding: 0 var(--jkl-unit-15);
9
9
  --jkl-autosuggest-controller-button-icon-size: #{jkl.rem(20px)};
10
- --jkl-autosuggest-option-padding: var(--jkl-unit-10) 0.75em;
11
- --jkl-autosuggest-option-height: #{jkl.rem(48px)};
10
+ --jkl-autosuggest-option-padding: var(--jkl-unit-10);
11
+ --jkl-autosuggest-option-height: min(var(--jkl-unit-60), #{jkl.rem(48px)});
12
12
 
13
13
  display: flex;
14
14
  flex-direction: column;
@@ -54,6 +54,7 @@
54
54
  color: unset;
55
55
  display: flex; // avoids wrapping long names "under" the focus arrow
56
56
  align-items: center;
57
+ box-sizing: border-box;
57
58
  border: 0; // removes native styling
58
59
  background-color: transparent;
59
60
  min-height: var(--jkl-autosuggest-option-height);
@@ -69,7 +70,7 @@
69
70
  &--active,
70
71
  &:hover {
71
72
  color: var(--jkl-color-text-default);
72
- background-color: color-mix(in srgb, currentColor 10%, transparent);
73
+ background-color: var(--jkl-color-background-container-accent);
73
74
  }
74
75
  }
75
76
  }
@@ -3,7 +3,7 @@
3
3
  */
4
4
  @layer jokul.components {
5
5
  .jkl-checkbox {
6
- --text-color: var(--jkl-color-text-default);
6
+ --text-color: var(--jkl-color-background-contrast);
7
7
  --background-color: transparent;
8
8
  font: var(--jkl-text-style-text-medium);
9
9
  display: flex;
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-checkbox{--text-color:var(--jkl-color-text-default);--background-color:transparent;color:var(--text-color);display:flex;flex-wrap:wrap;font:var(--jkl-text-style-text-medium);position:relative}.jkl-checkbox__input{-webkit-appearance:none;appearance:none;background:transparent;block-size:1lh;border:0;border-style:none;cursor:pointer;inline-size:1lh;inset-block-start:0;inset-inline-start:0;margin:0;outline:0;outline-style:none;padding:0;position:absolute;z-index:1}.jkl-checkbox__input:active,.jkl-checkbox__input:focus,.jkl-checkbox__input:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-checkbox__input{border-style:revert;outline:revert;outline-style:revert}.jkl-checkbox__input:active,.jkl-checkbox__input:focus,.jkl-checkbox__input:hover{outline:revert;outline-style:revert}}.jkl-checkbox__label{cursor:pointer;display:flex;font:var(--jkl-text-style-text-medium);transition-duration:var(--jkl-motion-timing-productive);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-checkbox__label:before{content:"check_box_outline_blank";-webkit-margin-end:.25em;display:inline-block;font-family:Jokul Icons,Jokul Icons Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;line-height:1;margin-inline-end:.25em;-webkit-font-smoothing:antialiased;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-checkbox__input:focus-visible+.jkl-checkbox__label:before{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-checkbox__input:is(:hover,:active)+.jkl-checkbox__label,.jkl-checkbox__label:active,.jkl-checkbox__label:hover{--jkl-icon-weight:var(--jkl-font-weight-bold)}.jkl-checkbox__input:checked+.jkl-checkbox__label:before{content:"check_box";--jkl-icon-fill:1}.jkl-checkbox__input:indeterminate:not(:checked)+.jkl-checkbox__label:before{content:"indeterminate_check_box";--jkl-icon-fill:1}.jkl-checkbox__input[aria-invalid=true]+.jkl-checkbox__label:before{color:var(--jkl-color-error-background-contrast)}.jkl-checkbox+.jkl-checkbox{margin-top:.75em}.jkl-checkbox--inline{display:inline-flex}.jkl-checkbox--inline:not(:last-of-type){margin-right:var(--jkl-unit-30)}}
1
+ @layer jokul.components{.jkl-checkbox{--text-color:var(--jkl-color-background-contrast);--background-color:transparent;color:var(--text-color);display:flex;flex-wrap:wrap;font:var(--jkl-text-style-text-medium);position:relative}.jkl-checkbox__input{-webkit-appearance:none;appearance:none;background:transparent;block-size:1lh;border:0;border-style:none;cursor:pointer;inline-size:1lh;inset-block-start:0;inset-inline-start:0;margin:0;outline:0;outline-style:none;padding:0;position:absolute;z-index:1}.jkl-checkbox__input:active,.jkl-checkbox__input:focus,.jkl-checkbox__input:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-checkbox__input{border-style:revert;outline:revert;outline-style:revert}.jkl-checkbox__input:active,.jkl-checkbox__input:focus,.jkl-checkbox__input:hover{outline:revert;outline-style:revert}}.jkl-checkbox__label{cursor:pointer;display:flex;font:var(--jkl-text-style-text-medium);transition-duration:var(--jkl-motion-timing-productive);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-checkbox__label:before{content:"check_box_outline_blank";-webkit-margin-end:.25em;display:inline-block;font-family:Jokul Icons,Jokul Icons Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;line-height:1;margin-inline-end:.25em;-webkit-font-smoothing:antialiased;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-checkbox__input:focus-visible+.jkl-checkbox__label:before{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-checkbox__input:is(:hover,:active)+.jkl-checkbox__label,.jkl-checkbox__label:active,.jkl-checkbox__label:hover{--jkl-icon-weight:var(--jkl-font-weight-bold)}.jkl-checkbox__input:checked+.jkl-checkbox__label:before{content:"check_box";--jkl-icon-fill:1}.jkl-checkbox__input:indeterminate:not(:checked)+.jkl-checkbox__label:before{content:"indeterminate_check_box";--jkl-icon-fill:1}.jkl-checkbox__input[aria-invalid=true]+.jkl-checkbox__label:before{color:var(--jkl-color-error-background-contrast)}.jkl-checkbox+.jkl-checkbox{margin-top:.75em}.jkl-checkbox--inline{display:inline-flex}.jkl-checkbox--inline:not(:last-of-type){margin-right:var(--jkl-unit-30)}}
@@ -5,7 +5,7 @@
5
5
 
6
6
  @layer jokul.components {
7
7
  .jkl-checkbox {
8
- --text-color: var(--jkl-color-text-default);
8
+ --text-color: var(--jkl-color-background-contrast);
9
9
  --background-color: transparent;
10
10
 
11
11
  @include jkl.text-style("text-medium");
@@ -78,7 +78,7 @@
78
78
  }
79
79
  @layer jokul.components {
80
80
  .jkl-checkbox {
81
- --text-color: var(--jkl-color-text-default);
81
+ --text-color: var(--jkl-color-background-contrast);
82
82
  --background-color: transparent;
83
83
  font: var(--jkl-text-style-text-medium);
84
84
  display: flex;
@@ -1 +1 @@
1
- @layer jokul.components{.jkl-input-panel{--outer-border-color:var(--jkl-color-border-default);--outer-border-thickness:0.0625rem;--background-color:transparent;--padding-inline:var(--jkl-unit-25);background-color:var(--background-color);border-radius:var(--jkl-border-radius-s);box-shadow:inset 0 0 0 var(--outer-border-thickness) var(--outer-border-color);display:flex;flex-direction:column;interpolate-size:allow-keywords;transition-duration:var(--jkl-motion-timing-productive);transition-property:box-shadow;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-input-panel__header{align-items:center;cursor:pointer;display:grid;gap:.5rem;grid-template-columns:1fr -webkit-max-content;grid-template-columns:1fr max-content;padding:var(--jkl-unit-20) var(--padding-inline);position:relative}.jkl-input-panel__header .jkl-checkbox,.jkl-input-panel__header .jkl-radio-button{grid-column:1/-1;grid-row:1;inline-size:100%}.jkl-input-panel__header label{inline-size:100%}.jkl-input-panel__header__amount{align-items:center;display:flex;font:var(--jkl-text-style-text-medium);font-weight:var(--jkl-font-weight-bold);grid-column:2;grid-row:1;height:100%;justify-self:end;pointer-events:none;position:relative;z-index:1}.jkl-input-panel__description{height:0;overflow:hidden;padding-inline:var(--padding-inline);-webkit-padding-after:var(--jkl-spacing-none);line-height:normal;font:var(--jkl-text-style-paragraph-medium);padding-block-end:var(--jkl-spacing-none);transition-duration:var(--jkl-motion-timing-productive);transition-property:height;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-input-panel:has(:focus-visible){outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-input-panel:has(:checked),.jkl-input-panel:not([data-always-open]),.jkl-input-panel[data-always-open=true]{--background-color:var(--jkl-color-background-container)}.jkl-input-panel:has(:checked) .jkl-input-panel__description,.jkl-input-panel:not([data-always-open]) .jkl-input-panel__description,.jkl-input-panel[data-always-open=true] .jkl-input-panel__description{height:auto;-webkit-padding-after:var(--jkl-unit-20);padding-block-end:var(--jkl-unit-20)}.jkl-input-panel:has(input:hover){--outer-border-color:var(--jkl-color-border-strong);--outer-border-thickness:0.125rem;cursor:pointer}}@layer jokul.components{.jkl-checkbox{--text-color:var(--jkl-color-text-default);--background-color:transparent;color:var(--text-color);display:flex;flex-wrap:wrap;font:var(--jkl-text-style-text-medium);position:relative}.jkl-checkbox__input{-webkit-appearance:none;appearance:none;background:transparent;block-size:1lh;border:0;border-style:none;cursor:pointer;inline-size:1lh;inset-block-start:0;inset-inline-start:0;margin:0;outline:0;outline-style:none;padding:0;position:absolute;z-index:1}.jkl-checkbox__input:active,.jkl-checkbox__input:focus,.jkl-checkbox__input:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-checkbox__input{border-style:revert;outline:revert;outline-style:revert}.jkl-checkbox__input:active,.jkl-checkbox__input:focus,.jkl-checkbox__input:hover{outline:revert;outline-style:revert}}.jkl-checkbox__label{cursor:pointer;display:flex;font:var(--jkl-text-style-text-medium);transition-duration:var(--jkl-motion-timing-productive);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-checkbox__label:before{content:"check_box_outline_blank";-webkit-margin-end:.25em;display:inline-block;font-family:Jokul Icons,Jokul Icons Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;line-height:1;margin-inline-end:.25em;-webkit-font-smoothing:antialiased;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-checkbox__input:focus-visible+.jkl-checkbox__label:before{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-checkbox__input:is(:hover,:active)+.jkl-checkbox__label,.jkl-checkbox__label:active,.jkl-checkbox__label:hover{--jkl-icon-weight:var(--jkl-font-weight-bold)}.jkl-checkbox__input:checked+.jkl-checkbox__label:before{content:"check_box";--jkl-icon-fill:1}.jkl-checkbox__input:indeterminate:not(:checked)+.jkl-checkbox__label:before{content:"indeterminate_check_box";--jkl-icon-fill:1}.jkl-checkbox__input[aria-invalid=true]+.jkl-checkbox__label:before{color:var(--jkl-color-error-background-contrast)}.jkl-checkbox+.jkl-checkbox{margin-top:.75em}.jkl-checkbox--inline{display:inline-flex}.jkl-checkbox--inline:not(:last-of-type){margin-right:var(--jkl-unit-30)}}@layer jokul.components{.jkl-checkbox-panel .jkl-checkbox{-webkit-margin-start:-.1em;margin-inline-start:-.1em}.jkl-checkbox-panel .jkl-checkbox__input:focus-visible+.jkl-checkbox__label:before{outline:none}}
1
+ @layer jokul.components{.jkl-input-panel{--outer-border-color:var(--jkl-color-border-default);--outer-border-thickness:0.0625rem;--background-color:transparent;--padding-inline:var(--jkl-unit-25);background-color:var(--background-color);border-radius:var(--jkl-border-radius-s);box-shadow:inset 0 0 0 var(--outer-border-thickness) var(--outer-border-color);display:flex;flex-direction:column;interpolate-size:allow-keywords;transition-duration:var(--jkl-motion-timing-productive);transition-property:box-shadow;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-input-panel__header{align-items:center;cursor:pointer;display:grid;gap:.5rem;grid-template-columns:1fr -webkit-max-content;grid-template-columns:1fr max-content;padding:var(--jkl-unit-20) var(--padding-inline);position:relative}.jkl-input-panel__header .jkl-checkbox,.jkl-input-panel__header .jkl-radio-button{grid-column:1/-1;grid-row:1;inline-size:100%}.jkl-input-panel__header label{inline-size:100%}.jkl-input-panel__header__amount{align-items:center;display:flex;font:var(--jkl-text-style-text-medium);font-weight:var(--jkl-font-weight-bold);grid-column:2;grid-row:1;height:100%;justify-self:end;pointer-events:none;position:relative;z-index:1}.jkl-input-panel__description{height:0;overflow:hidden;padding-inline:var(--padding-inline);-webkit-padding-after:var(--jkl-spacing-none);line-height:normal;font:var(--jkl-text-style-paragraph-medium);padding-block-end:var(--jkl-spacing-none);transition-duration:var(--jkl-motion-timing-productive);transition-property:height;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-input-panel:has(:focus-visible){outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-input-panel:has(:checked),.jkl-input-panel:not([data-always-open]),.jkl-input-panel[data-always-open=true]{--background-color:var(--jkl-color-background-container)}.jkl-input-panel:has(:checked) .jkl-input-panel__description,.jkl-input-panel:not([data-always-open]) .jkl-input-panel__description,.jkl-input-panel[data-always-open=true] .jkl-input-panel__description{height:auto;-webkit-padding-after:var(--jkl-unit-20);padding-block-end:var(--jkl-unit-20)}.jkl-input-panel:has(input:hover){--outer-border-color:var(--jkl-color-border-strong);--outer-border-thickness:0.125rem;cursor:pointer}}@layer jokul.components{.jkl-checkbox{--text-color:var(--jkl-color-background-contrast);--background-color:transparent;color:var(--text-color);display:flex;flex-wrap:wrap;font:var(--jkl-text-style-text-medium);position:relative}.jkl-checkbox__input{-webkit-appearance:none;appearance:none;background:transparent;block-size:1lh;border:0;border-style:none;cursor:pointer;inline-size:1lh;inset-block-start:0;inset-inline-start:0;margin:0;outline:0;outline-style:none;padding:0;position:absolute;z-index:1}.jkl-checkbox__input:active,.jkl-checkbox__input:focus,.jkl-checkbox__input:hover{outline:0;outline-style:none}@media screen and (forced-colors:active){.jkl-checkbox__input{border-style:revert;outline:revert;outline-style:revert}.jkl-checkbox__input:active,.jkl-checkbox__input:focus,.jkl-checkbox__input:hover{outline:revert;outline-style:revert}}.jkl-checkbox__label{cursor:pointer;display:flex;font:var(--jkl-text-style-text-medium);transition-duration:var(--jkl-motion-timing-productive);transition-property:color;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-checkbox__label:before{content:"check_box_outline_blank";-webkit-margin-end:.25em;display:inline-block;font-family:Jokul Icons,Jokul Icons Fallback,sans-serif;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-size:1.3em;font-variation-settings:"FILL" var(--jkl-icon-fill,0);font-weight:400;line-height:1;margin-inline-end:.25em;-webkit-font-smoothing:antialiased;transition-duration:var(--jkl-motion-timing-energetic);transition-property:font-variation-settings,transform;transition-timing-function:var(--jkl-motion-easing-standard)}.jkl-checkbox__input:focus-visible+.jkl-checkbox__label:before{outline:3px solid var(--jkl-color-border-strong);outline-offset:3px}.jkl-checkbox__input:is(:hover,:active)+.jkl-checkbox__label,.jkl-checkbox__label:active,.jkl-checkbox__label:hover{--jkl-icon-weight:var(--jkl-font-weight-bold)}.jkl-checkbox__input:checked+.jkl-checkbox__label:before{content:"check_box";--jkl-icon-fill:1}.jkl-checkbox__input:indeterminate:not(:checked)+.jkl-checkbox__label:before{content:"indeterminate_check_box";--jkl-icon-fill:1}.jkl-checkbox__input[aria-invalid=true]+.jkl-checkbox__label:before{color:var(--jkl-color-error-background-contrast)}.jkl-checkbox+.jkl-checkbox{margin-top:.75em}.jkl-checkbox--inline{display:inline-flex}.jkl-checkbox--inline:not(:last-of-type){margin-right:var(--jkl-unit-30)}}@layer jokul.components{.jkl-checkbox-panel .jkl-checkbox{-webkit-margin-start:-.1em;margin-inline-start:-.1em}.jkl-checkbox-panel .jkl-checkbox__input:focus-visible+.jkl-checkbox__label:before{outline:none}}
@@ -12,8 +12,8 @@
12
12
  --jkl-combobox-chips-gap: var(--jkl-unit-05);
13
13
  --jkl-combobox-search-input-padding: var(--jkl-combobox-button-padding);
14
14
  --jkl-combobox-native-padding: 0 var(--jkl-unit-50) 0 var(--jkl-unit-10);
15
- --jkl-combobox-option-padding: var(--jkl-unit-10) var(--jkl-unit-15);
16
- --jkl-combobox-option-line-height: 2rem;
15
+ --jkl-combobox-option-padding: var(--jkl-unit-10);
16
+ --jkl-combobox-option-height: min(var(--jkl-unit-60), 3rem);
17
17
  --jkl-combobox-search-input-height: 1.75rem;
18
18
  }
19
19
  @media (width >= 0) and (max-width: 679px) {
@@ -250,13 +250,13 @@
250
250
  background-color: transparent;
251
251
  transition-property: color, background-color;
252
252
  cursor: pointer;
253
+ min-height: var(--jkl-combobox-option-height);
253
254
  padding: var(--jkl-combobox-option-padding);
254
255
  width: 100%;
255
256
  text-align: left;
256
- line-height: var(--jkl-combobox-option-line-height);
257
257
  }
258
258
  .jkl-combobox__option:focus, .jkl-combobox__option:hover {
259
- background-color: color-mix(in srgb, currentColor 10%, transparent);
259
+ background-color: var(--jkl-color-background-container-accent);
260
260
  }
261
261
  .jkl-combobox__option-description {
262
262
  font: var(--jkl-text-style-text-small);