@bigbinary/neetoui 8.3.75 → 8.3.77

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 (147) hide show
  1. package/README.md +0 -1
  2. package/dist/Alert.js +1 -1
  3. package/dist/DatePicker.js +2 -2
  4. package/dist/Modal.js +1 -1
  5. package/dist/MultiEmailInput.js +1 -1
  6. package/dist/NoData.js +1 -1
  7. package/dist/Pane.js +1 -1
  8. package/dist/{Portal-BaWO-CyE.js → Portal-qx5uRFGk.js} +2 -2
  9. package/dist/{Portal-BaWO-CyE.js.map → Portal-qx5uRFGk.js.map} +1 -1
  10. package/dist/Select.js +1 -1
  11. package/dist/Slider.js +1 -1
  12. package/dist/Table.js +2 -2
  13. package/dist/TimePicker.js +2 -2
  14. package/dist/cjs/Accordion.js +24 -15
  15. package/dist/cjs/Accordion.js.map +1 -1
  16. package/dist/cjs/ActionDropdown.js +12 -6
  17. package/dist/cjs/ActionDropdown.js.map +1 -1
  18. package/dist/cjs/Alert.js +11 -6
  19. package/dist/cjs/Alert.js.map +1 -1
  20. package/dist/cjs/Avatar.js +17 -9
  21. package/dist/cjs/Avatar.js.map +1 -1
  22. package/dist/cjs/Button.js +15 -8
  23. package/dist/cjs/Button.js.map +1 -1
  24. package/dist/cjs/Callout.js +9 -3
  25. package/dist/cjs/Callout.js.map +1 -1
  26. package/dist/cjs/Checkbox.js +12 -6
  27. package/dist/cjs/Checkbox.js.map +1 -1
  28. package/dist/cjs/ColorPicker.js +29 -18
  29. package/dist/cjs/ColorPicker.js.map +1 -1
  30. package/dist/cjs/DatePicker.js +8 -8
  31. package/dist/cjs/Dropdown.js +34 -25
  32. package/dist/cjs/Dropdown.js.map +1 -1
  33. package/dist/cjs/Input.js +18 -11
  34. package/dist/cjs/Input.js.map +1 -1
  35. package/dist/cjs/Kbd.js +11 -5
  36. package/dist/cjs/Kbd.js.map +1 -1
  37. package/dist/cjs/Label.js +19 -12
  38. package/dist/cjs/Label.js.map +1 -1
  39. package/dist/cjs/Modal.js +23 -14
  40. package/dist/cjs/Modal.js.map +1 -1
  41. package/dist/cjs/MultiEmailInput.js +36 -26
  42. package/dist/cjs/MultiEmailInput.js.map +1 -1
  43. package/dist/cjs/NoData.js +11 -5
  44. package/dist/cjs/NoData.js.map +1 -1
  45. package/dist/cjs/Pagination.js +19 -12
  46. package/dist/cjs/Pagination.js.map +1 -1
  47. package/dist/cjs/Pane.js +22 -14
  48. package/dist/cjs/Pane.js.map +1 -1
  49. package/dist/cjs/Popover.js +12 -6
  50. package/dist/cjs/Popover.js.map +1 -1
  51. package/dist/cjs/{Portal-D3CvlJ0g.js → Portal-nCvANFeL.js} +30 -19
  52. package/dist/cjs/{Portal-D3CvlJ0g.js.map → Portal-nCvANFeL.js.map} +1 -1
  53. package/dist/cjs/ProgressBar.js +7 -3
  54. package/dist/cjs/ProgressBar.js.map +1 -1
  55. package/dist/cjs/Radio.js +18 -11
  56. package/dist/cjs/Radio.js.map +1 -1
  57. package/dist/cjs/Select.js +44 -31
  58. package/dist/cjs/Select.js.map +1 -1
  59. package/dist/cjs/Sidebar.js +34 -21
  60. package/dist/cjs/Sidebar.js.map +1 -1
  61. package/dist/cjs/Slider.js +14 -7
  62. package/dist/cjs/Slider.js.map +1 -1
  63. package/dist/cjs/Spinner.js +5 -1
  64. package/dist/cjs/Spinner.js.map +1 -1
  65. package/dist/cjs/Stepper.js +5 -1
  66. package/dist/cjs/Stepper.js.map +1 -1
  67. package/dist/cjs/Switch.js +18 -10
  68. package/dist/cjs/Switch.js.map +1 -1
  69. package/dist/cjs/Tab.js +14 -7
  70. package/dist/cjs/Tab.js.map +1 -1
  71. package/dist/cjs/Table.js +89 -71
  72. package/dist/cjs/Table.js.map +1 -1
  73. package/dist/cjs/Tag.js +12 -5
  74. package/dist/cjs/Tag.js.map +1 -1
  75. package/dist/cjs/{Textarea-BOi6PJBI.js → Textarea-DxdJutA8.js} +17 -9
  76. package/dist/cjs/{Textarea-BOi6PJBI.js.map → Textarea-DxdJutA8.js.map} +1 -1
  77. package/dist/cjs/Textarea.js +4 -4
  78. package/dist/cjs/TimePicker.js +8 -8
  79. package/dist/cjs/Toastr.js +29 -17
  80. package/dist/cjs/Toastr.js.map +1 -1
  81. package/dist/cjs/Tooltip.js +15 -7
  82. package/dist/cjs/Tooltip.js.map +1 -1
  83. package/dist/cjs/TranslationProvider.js +6 -2
  84. package/dist/cjs/TranslationProvider.js.map +1 -1
  85. package/dist/cjs/Tree.js +19 -9
  86. package/dist/cjs/Tree.js.map +1 -1
  87. package/dist/cjs/TreeSelect.js +20 -11
  88. package/dist/cjs/TreeSelect.js.map +1 -1
  89. package/dist/cjs/Typography.js +11 -4
  90. package/dist/cjs/Typography.js.map +1 -1
  91. package/dist/cjs/constants.js +17 -7
  92. package/dist/cjs/constants.js.map +1 -1
  93. package/dist/cjs/formik/ActionBlock.js +10 -5
  94. package/dist/cjs/formik/ActionBlock.js.map +1 -1
  95. package/dist/cjs/formik/BlockNavigation.js +13 -7
  96. package/dist/cjs/formik/BlockNavigation.js.map +1 -1
  97. package/dist/cjs/formik/Button.js +9 -4
  98. package/dist/cjs/formik/Button.js.map +1 -1
  99. package/dist/cjs/formik/Checkbox.js +10 -5
  100. package/dist/cjs/formik/Checkbox.js.map +1 -1
  101. package/dist/cjs/formik/Form.js +17 -8
  102. package/dist/cjs/formik/Form.js.map +1 -1
  103. package/dist/cjs/formik/Input.js +10 -5
  104. package/dist/cjs/formik/Input.js.map +1 -1
  105. package/dist/cjs/formik/MultiEmailInput.js +13 -7
  106. package/dist/cjs/formik/MultiEmailInput.js.map +1 -1
  107. package/dist/cjs/formik/Radio.js +12 -6
  108. package/dist/cjs/formik/Radio.js.map +1 -1
  109. package/dist/cjs/formik/Select.js +15 -8
  110. package/dist/cjs/formik/Select.js.map +1 -1
  111. package/dist/cjs/formik/Slider.js +12 -6
  112. package/dist/cjs/formik/Slider.js.map +1 -1
  113. package/dist/cjs/formik/Switch.js +10 -5
  114. package/dist/cjs/formik/Switch.js.map +1 -1
  115. package/dist/cjs/formik/Textarea.js +11 -6
  116. package/dist/cjs/formik/Textarea.js.map +1 -1
  117. package/dist/cjs/formik/TreeSelect.js +12 -6
  118. package/dist/cjs/formik/TreeSelect.js.map +1 -1
  119. package/dist/cjs/formik/index.js +6 -6
  120. package/dist/cjs/{index-DPPfjE9r.js → index-BIFpyYcO.js} +69 -45
  121. package/dist/cjs/{index-DPPfjE9r.js.map → index-BIFpyYcO.js.map} +1 -1
  122. package/dist/cjs/{index-D0rucYPS.js → index-BgzkP01c.js} +32 -19
  123. package/dist/cjs/index-BgzkP01c.js.map +1 -0
  124. package/dist/cjs/{index-DApAqkOe.js → index-CNZKW5X0.js} +13 -6
  125. package/dist/cjs/{index-DApAqkOe.js.map → index-CNZKW5X0.js.map} +1 -1
  126. package/dist/cjs/index.js +9 -9
  127. package/dist/cjs/layouts.js +3 -3
  128. package/dist/cjs/overlayManager.js +7 -2
  129. package/dist/cjs/overlayManager.js.map +1 -1
  130. package/dist/cjs/{react-select-creatable.esm-lcdODVBz.js → react-select-creatable.esm-CYabSQvs.js} +109 -94
  131. package/dist/cjs/{react-select-creatable.esm-lcdODVBz.js.map → react-select-creatable.esm-CYabSQvs.js.map} +1 -1
  132. package/dist/cjs/{usePrefersReducedMotion-DIgi-Aj7.js → usePrefersReducedMotion-D2Ck84HM.js} +6 -2
  133. package/dist/cjs/{usePrefersReducedMotion-DIgi-Aj7.js.map → usePrefersReducedMotion-D2Ck84HM.js.map} +1 -1
  134. package/dist/cjs/{useQueryParams-BrrbBvY_.js → useQueryParams-BT5EJ1-8.js} +6 -2
  135. package/dist/cjs/{useQueryParams-BrrbBvY_.js.map → useQueryParams-BT5EJ1-8.js.map} +1 -1
  136. package/dist/cjs/{useRecentlyUsedColors-Bo6lorBa.js → useRecentlyUsedColors-P_o42kpC.js} +2 -2
  137. package/dist/cjs/{useRecentlyUsedColors-Bo6lorBa.js.map → useRecentlyUsedColors-P_o42kpC.js.map} +1 -1
  138. package/dist/formik/BlockNavigation.js +1 -1
  139. package/dist/formik/MultiEmailInput.js +1 -1
  140. package/dist/formik/Select.js +2 -2
  141. package/dist/formik/index.js +2 -2
  142. package/dist/index.js +2 -2
  143. package/dist/{react-select-creatable.esm-opiJTCqo.js → react-select-creatable.esm-C-18UhvM.js} +2 -2
  144. package/dist/{react-select-creatable.esm-opiJTCqo.js.map → react-select-creatable.esm-C-18UhvM.js.map} +1 -1
  145. package/dist/src/translations/hu.json +51 -0
  146. package/package.json +1 -1
  147. package/dist/cjs/index-D0rucYPS.js.map +0 -1
@@ -0,0 +1,51 @@
1
+ {
2
+ "neetoui": {
3
+ "common": {
4
+ "timezone": "Időzóna",
5
+ "description": "Leírás"
6
+ },
7
+ "blockNavigation": {
8
+ "alertMessage": "Ennek az oldalnak a elhagyása miatt elveszíti a nem mentett adatait. Ez a művelet nem vonható vissza.",
9
+ "submitButtonLabel": "Maradjon ezen az oldalon",
10
+ "cancelButtonLabel": "Elvetés és oldal elhagyása",
11
+ "alertTitle": "Nem mentett változások vannak"
12
+ },
13
+ "actionBlock": {
14
+ "cancel": "Mégse",
15
+ "saveChanges": "Változtatások mentése"
16
+ },
17
+ "colorPicker": {
18
+ "recentlyUsed": "Legutóbb használt"
19
+ },
20
+ "datePicker": {
21
+ "today": "Ma"
22
+ },
23
+ "table": {
24
+ "moveColumnLeft": "Oszlop mozgatása balra",
25
+ "moveColumnRight": "Oszlop mozgatása jobbra",
26
+ "insertColRight": "Oszlop beszúrása jobbra",
27
+ "insertColLeft": "Oszlop beszúrása balra",
28
+ "columnInfo": "Oszlop információ",
29
+ "hideColumn": "Oszlop elrejtése",
30
+ "deleteColumn": "Oszlop törlése",
31
+ "ascending": "Növekvő",
32
+ "descending": "Csökkenő",
33
+ "freezeColumn": "Oszlop rögzítése",
34
+ "unFreezeColumn": "Oszlop feloldása",
35
+ "allRowsSelected": "Minden sor ki van választva",
36
+ "addColumnInfo": "Oszlop információ hozzáadása",
37
+ "editColumnInfo": "Oszlop információ szerkesztése",
38
+ "clearSelection": "Kiválasztás törlése",
39
+ "info": "Táblázat információ",
40
+ "columnName": "Oszlop neve"
41
+ },
42
+ "timePicker": {
43
+ "hours": "Órák",
44
+ "minutes": "Percek",
45
+ "seconds": "Másodpercek"
46
+ },
47
+ "treeSelect": {
48
+ "noOptions": "Nincsenek lehetőségek."
49
+ }
50
+ }
51
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neetoui",
3
- "version": "8.3.75",
3
+ "version": "8.3.77",
4
4
  "author": "BigBinary",
5
5
  "license": "MIT",
6
6
  "description": "neetoUI drives the experience at all neeto products",
@@ -1 +0,0 @@
1
- {"version":3,"file":"index-D0rucYPS.js","sources":["../../src/utils/dayjs/timezonePlugin.js","../../src/utils/dayjs/index.js"],"sourcesContent":["const typeToPos = {\n year: 0,\n month: 1,\n day: 2,\n hour: 3,\n minute: 4,\n second: 5,\n};\n\nconst dateTimeFormatDefaults = {\n year: \"numeric\",\n month: \"2-digit\",\n day: \"2-digit\",\n hour: \"2-digit\",\n minute: \"2-digit\",\n second: \"2-digit\",\n};\n\n// Cache time-zone lookups from Intl.DateTimeFormat,\n// as it is a *very* slow method.\nconst dtfCache = {};\nconst getDateTimeFormat = (timezone, options = {}) => {\n const timeZoneName = options.timeZoneName || \"short\";\n const key = `${timezone}|${timeZoneName}`;\n let dtf = dtfCache[key];\n if (!dtf) {\n dtf = new Intl.DateTimeFormat(\"en-US\", {\n ...dateTimeFormatDefaults,\n hour12: false,\n timeZone: timezone,\n timeZoneName,\n });\n dtfCache[key] = dtf;\n }\n\n return dtf;\n};\n\nconst localeStringifierCache = {};\nconst getLocaleStringifier = timezone => {\n let localeStringifier = localeStringifierCache[timezone];\n if (!localeStringifier) {\n localeStringifier = new Intl.DateTimeFormat(\"en-US\", {\n ...dateTimeFormatDefaults,\n timeZone: timezone,\n });\n localeStringifierCache[timezone] = localeStringifier;\n }\n\n return localeStringifier;\n};\n\n// eslint-disable-next-line no-unused-vars\nexport default (o, c, d) => {\n let defaultTimezone;\n\n const makeFormatParts = (timestamp, timezone, options = {}) => {\n const date = new Date(timestamp);\n const dtf = getDateTimeFormat(timezone, options);\n\n return dtf.formatToParts(date);\n };\n\n const tzOffset = (timestamp, timezone) => {\n const formatResult = makeFormatParts(timestamp, timezone);\n const filled = [];\n for (let i = 0; i < formatResult.length; i += 1) {\n const { type, value } = formatResult[i];\n const pos = typeToPos[type];\n\n if (pos >= 0) {\n filled[pos] = parseInt(value, 10);\n }\n }\n const hour = filled[3];\n // Workaround for the same behavior in different node version\n // https://github.com/nodejs/node/issues/33027\n /* istanbul ignore next */\n const fixedHour = hour === 24 ? 0 : hour;\n const utcString = `${filled[0]}-${filled[1]}-${filled[2]} ${fixedHour}:${filled[4]}:${filled[5]}:000`;\n const utcTs = d.utc(utcString).valueOf();\n let asTS = Number(timestamp);\n const over = asTS % 1000;\n asTS -= over;\n\n return (utcTs - asTS) / (60 * 1000);\n };\n\n // find the right offset a given local time. The o input is our guess, which determines which\n // offset we'll pick in ambiguous cases (e.g. there are two 3 AMs b/c Fallback DST)\n // https://github.com/moment/luxon/blob/master/src/datetime.js#L76\n const fixOffset = (localTS, o0, tz) => {\n // Our UTC time is just a guess because our offset is just a guess\n let utcGuess = localTS - o0 * 60 * 1000;\n // Test whether the zone matches the offset for this ts\n const o2 = tzOffset(utcGuess, tz);\n // If so, offset didn't change and we're done\n if (o0 === o2) {\n return [utcGuess, o0];\n }\n // If not, change the ts by the difference in the offset\n utcGuess -= (o2 - o0) * 60 * 1000;\n // If that gives us the local time we want, we're done\n const o3 = tzOffset(utcGuess, tz);\n if (o2 === o3) {\n return [utcGuess, o2];\n }\n\n // If it's different, we're in a hole time.\n // The offset has changed, but the we don't adjust the time\n return [localTS - Math.min(o2, o3) * 60 * 1000, Math.max(o2, o3)];\n };\n\n const proto = c.prototype;\n\n // eslint-disable-next-line default-param-last\n proto.tz = function (timezone = defaultTimezone, keepLocalTime) {\n const oldOffset = this.utcOffset();\n const date = this.toDate();\n const target = getLocaleStringifier(timezone).format(date);\n const diff = Math.round((date - new Date(target)) / 1000 / 60);\n let ins = d(target)\n .$set(\"millisecond\", this.$ms)\n .utcOffset(-Math.round(date.getTimezoneOffset() / 15) * 15 - diff, true);\n if (keepLocalTime) {\n const newOffset = ins.utcOffset();\n ins = ins.add(oldOffset - newOffset, \"minute\");\n }\n ins.$x.$timezone = timezone;\n\n return ins;\n };\n\n proto.offsetName = function (type) {\n // type: short(default) / long\n const zone = this.$x.$timezone || d.tz.guess();\n const result = makeFormatParts(this.valueOf(), zone, {\n timeZoneName: type,\n }).find(m => m.type.toLowerCase() === \"timezonename\");\n\n return result && result.value;\n };\n\n const oldStartOf = proto.startOf;\n proto.startOf = function (units, startOf) {\n if (!this.$x || !this.$x.$timezone) {\n return oldStartOf.call(this, units, startOf);\n }\n\n const withoutTz = d(this.format(\"YYYY-MM-DD HH:mm:ss:SSS\"));\n const startOfWithoutTz = oldStartOf.call(withoutTz, units, startOf);\n\n return startOfWithoutTz.tz(this.$x.$timezone, true);\n };\n\n d.tz = function (input, arg1, arg2) {\n const parseFormat = arg2 && arg1;\n const timezone = arg2 || arg1 || defaultTimezone;\n const previousOffset = tzOffset(Number(d()), timezone);\n if (typeof input !== \"string\") {\n // timestamp number || js Date || Day.js\n return d(input).tz(timezone);\n }\n const localTs = d.utc(input, parseFormat).valueOf();\n const [targetTs, targetOffset] = fixOffset(\n localTs,\n previousOffset,\n timezone\n );\n const ins = d(targetTs).utcOffset(targetOffset);\n ins.$x.$timezone = timezone;\n\n return ins;\n };\n\n d.tz.guess = function () {\n return Intl.DateTimeFormat().resolvedOptions().timeZone;\n };\n\n d.tz.setDefault = function (timezone) {\n defaultTimezone = timezone;\n };\n};\n","import pureDayjs from \"dayjs\";\nimport localeData from \"dayjs/plugin/localeData\";\nimport utc from \"dayjs/plugin/utc\";\nimport weekday from \"dayjs/plugin/weekday\";\nimport weekOfYear from \"dayjs/plugin/weekOfYear\";\n\nimport timezone from \"./timezonePlugin\";\n\npureDayjs.extend(weekOfYear);\npureDayjs.extend(weekday);\npureDayjs.extend(localeData);\npureDayjs.extend(utc);\npureDayjs.extend(timezone);\n\nclass LRUCache {\n constructor(limit) {\n this.limit = limit;\n this.cache = new Map();\n }\n\n get(key) {\n const value = this.cache.get(key);\n this.cache.delete(key);\n this.cache.set(key, value);\n\n return value;\n }\n\n set(key, value) {\n if (this.cache.size >= this.limit) {\n const oldestKey = this.cache.keys().next().value;\n this.cache.delete(oldestKey);\n }\n this.cache.set(key, value);\n }\n\n has(key) {\n return this.cache.has(key);\n }\n}\n\nconst hasTimezone = dateString => {\n const timezoneRegex = /Z|[+-]\\d{2}:\\d{2}$|[+-]\\d{4}$|GMT([+-]\\d{4})?$/;\n\n return timezoneRegex.test(dateString);\n};\n\nconst cache = new LRUCache(1000);\n\nconst dayjs = (...args) => {\n const cacheKey = JSON.stringify(args);\n\n if (cache.has(cacheKey) && args[0] !== undefined) return cache.get(cacheKey);\n\n const userTimezone = pureDayjs.tz().$x.$timezone;\n const browserTimezone = pureDayjs.tz.guess();\n const timezone = userTimezone || browserTimezone;\n\n if (userTimezone === browserTimezone || userTimezone === undefined) {\n const result = pureDayjs(...args);\n\n if (args[0] !== undefined) cache.set(cacheKey, result);\n\n return result;\n }\n\n if (args.length > 0 && (typeof args[0] === \"string\" || args[0] === null)) {\n const pureDayjsArgs = args.slice(0, Math.min(args.length, 2));\n\n if (hasTimezone(args[0])) {\n args[0] = pureDayjs(...pureDayjsArgs);\n } else {\n args[0] = pureDayjs(...pureDayjsArgs).format(\"YYYY-MM-DD HH:mm:ss\");\n args[1] = \"YYYY-MM-DD HH:mm:ss\";\n }\n }\n\n if (args[0]?.toString() === \"Invalid Date\") {\n const result = pureDayjs(...args);\n\n if (args[0] !== undefined) cache.set(cacheKey, result);\n\n return result;\n }\n\n const result =\n args.length === 2 ? pureDayjs.tz(...args, timezone) : pureDayjs.tz(...args);\n\n if (args[0] !== undefined) cache.set(cacheKey, result);\n\n return result;\n};\n\nObject.assign(dayjs, { ...pureDayjs });\n\nexport default dayjs;\n"],"names":["typeToPos","year","month","day","hour","minute","second","dateTimeFormatDefaults","dtfCache","getDateTimeFormat","timezone","options","arguments","length","undefined","timeZoneName","key","concat","dtf","Intl","DateTimeFormat","_objectSpread","hour12","timeZone","localeStringifierCache","getLocaleStringifier","localeStringifier","o","c","d","defaultTimezone","makeFormatParts","timestamp","date","Date","formatToParts","tzOffset","formatResult","filled","i","_formatResult$i","type","value","pos","parseInt","fixedHour","utcString","utcTs","utc","valueOf","asTS","Number","over","fixOffset","localTS","o0","tz","utcGuess","o2","o3","Math","min","max","proto","prototype","keepLocalTime","oldOffset","utcOffset","toDate","target","format","diff","round","ins","$set","$ms","getTimezoneOffset","newOffset","add","$x","$timezone","offsetName","zone","guess","result","find","m","toLowerCase","oldStartOf","startOf","units","call","withoutTz","startOfWithoutTz","input","arg1","arg2","parseFormat","previousOffset","localTs","_fixOffset","_fixOffset2","_slicedToArray","targetTs","targetOffset","resolvedOptions","setDefault","pureDayjs","extend","weekOfYear","weekday","localeData","LRUCache","limit","_classCallCheck","cache","Map","_createClass","get","set","size","oldestKey","keys","next","has","hasTimezone","dateString","timezoneRegex","test","dayjs","_args$","_len","args","Array","_key","cacheKey","JSON","stringify","userTimezone","browserTimezone","apply","pureDayjsArgs","slice","_toConsumableArray","toString","Object","assign"],"mappings":"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"}