@rpcbase/ui 0.235.0 → 0.237.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/dist/components/Notifications/NotificationsDrawer.d.ts.map +1 -1
  2. package/dist/components/Notifications/types.d.ts +11 -2
  3. package/dist/components/Notifications/types.d.ts.map +1 -1
  4. package/dist/index16.js +247 -175
  5. package/dist/index16.js.map +1 -1
  6. package/dist/index167.js +3 -3
  7. package/dist/index172.js +6 -6
  8. package/dist/index178.js +1 -1
  9. package/dist/index185.js +1 -1
  10. package/dist/index187.js +1 -1
  11. package/dist/index189.js +3 -3
  12. package/dist/index190.js +4 -4
  13. package/dist/index270.js +1 -1
  14. package/dist/index272.js +1 -1
  15. package/dist/index275.js +1 -1
  16. package/dist/index277.js +1 -1
  17. package/dist/index278.js +2 -2
  18. package/dist/index282.js +1 -1
  19. package/dist/index285.js +1 -1
  20. package/dist/index287.js +1 -1
  21. package/dist/index298.js +1 -1
  22. package/dist/index302.js +1 -1
  23. package/dist/index320.js +2 -2
  24. package/dist/index332.js +1 -1
  25. package/dist/index336.js +19 -8
  26. package/dist/index336.js.map +1 -1
  27. package/dist/index337.js +28 -11
  28. package/dist/index337.js.map +1 -1
  29. package/dist/index338.js +15 -7
  30. package/dist/index338.js.map +1 -1
  31. package/dist/index339.js +8 -13
  32. package/dist/index339.js.map +1 -1
  33. package/dist/index340.js +11 -3
  34. package/dist/index340.js.map +1 -1
  35. package/dist/index341.js +8 -3
  36. package/dist/index341.js.map +1 -1
  37. package/dist/index342.js +12 -16
  38. package/dist/index342.js.map +1 -1
  39. package/dist/index343.js +3 -19
  40. package/dist/index343.js.map +1 -1
  41. package/dist/index344.js +3 -28
  42. package/dist/index344.js.map +1 -1
  43. package/dist/index345.js +16 -15
  44. package/dist/index345.js.map +1 -1
  45. package/dist/index347.js +5 -122
  46. package/dist/index347.js.map +1 -1
  47. package/dist/index348.js +121 -31
  48. package/dist/index348.js.map +1 -1
  49. package/dist/index349.js +31 -72
  50. package/dist/index349.js.map +1 -1
  51. package/dist/index350.js +70 -139
  52. package/dist/index350.js.map +1 -1
  53. package/dist/index351.js +116 -35
  54. package/dist/index351.js.map +1 -1
  55. package/dist/index352.js +56 -44
  56. package/dist/index352.js.map +1 -1
  57. package/dist/index353.js +49 -14
  58. package/dist/index353.js.map +1 -1
  59. package/dist/index354.js +15 -6
  60. package/dist/index354.js.map +1 -1
  61. package/dist/index362.js +4 -12
  62. package/dist/index362.js.map +1 -1
  63. package/dist/index363.js +11 -16
  64. package/dist/index363.js.map +1 -1
  65. package/dist/index364.js +16 -5
  66. package/dist/index364.js.map +1 -1
  67. package/dist/index365.js +6 -4
  68. package/dist/index365.js.map +1 -1
  69. package/dist/index384.js +2 -2
  70. package/dist/index386.js +1 -1
  71. package/dist/index44.js +1 -1
  72. package/dist/index45.js +2 -2
  73. package/dist/index70.js +1 -1
  74. package/dist/index71.js +1 -1
  75. package/dist/index74.js +6 -2
  76. package/dist/index74.js.map +1 -1
  77. package/dist/index75.js +8 -2
  78. package/dist/index75.js.map +1 -1
  79. package/dist/index76.js +5 -5
  80. package/dist/index76.js.map +1 -1
  81. package/dist/index77.js +2 -8
  82. package/dist/index77.js.map +1 -1
  83. package/dist/index78.js +2 -6
  84. package/dist/index78.js.map +1 -1
  85. package/package.json +1 -1
package/dist/index340.js CHANGED
@@ -1,7 +1,15 @@
1
- function t(n, o) {
2
- return typeof n == "function" ? n(o) : n;
1
+ function n(e, r) {
2
+ if (e && !r)
3
+ return e;
4
+ if (!e && r)
5
+ return r;
6
+ if (e || r)
7
+ return {
8
+ ...e,
9
+ ...r
10
+ };
3
11
  }
4
12
  export {
5
- t as resolveClassName
13
+ n as mergeObjects
6
14
  };
7
15
  //# sourceMappingURL=index340.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index340.js","sources":["../../../node_modules/@base-ui/react/esm/utils/resolveClassName.js"],"sourcesContent":["/**\n * If the provided className is a string, it will be returned as is.\n * Otherwise, the function will call the className function with the state as the first argument.\n *\n * @param className\n * @param state\n */\nexport function resolveClassName(className, state) {\n return typeof className === 'function' ? className(state) : className;\n}"],"names":["resolveClassName","className","state"],"mappings":"AAOO,SAASA,EAAiBC,GAAWC,GAAO;AACjD,SAAO,OAAOD,KAAc,aAAaA,EAAUC,CAAK,IAAID;AAC9D;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index340.js","sources":["../../../node_modules/@base-ui/utils/esm/mergeObjects.js"],"sourcesContent":["export function mergeObjects(a, b) {\n if (a && !b) {\n return a;\n }\n if (!a && b) {\n return b;\n }\n if (a || b) {\n return {\n ...a,\n ...b\n };\n }\n return undefined;\n}"],"names":["mergeObjects","a","b"],"mappings":"AAAO,SAASA,EAAaC,GAAGC,GAAG;AACjC,MAAID,KAAK,CAACC;AACR,WAAOD;AAET,MAAI,CAACA,KAAKC;AACR,WAAOA;AAET,MAAID,KAAKC;AACP,WAAO;AAAA,MACL,GAAGD;AAAA,MACH,GAAGC;AAAA,IACT;AAGA;","x_google_ignoreList":[0]}
package/dist/index341.js CHANGED
@@ -1,7 +1,12 @@
1
- function e(n, o) {
2
- return typeof n == "function" ? n(o) : n;
1
+ let n;
2
+ process.env.NODE_ENV !== "production" && (n = /* @__PURE__ */ new Set());
3
+ function s(...o) {
4
+ if (process.env.NODE_ENV !== "production") {
5
+ const e = o.join(" ");
6
+ n.has(e) || (n.add(e), console.warn(`Base UI: ${e}`));
7
+ }
3
8
  }
4
9
  export {
5
- e as resolveStyle
10
+ s as warn
6
11
  };
7
12
  //# sourceMappingURL=index341.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index341.js","sources":["../../../node_modules/@base-ui/react/esm/utils/resolveStyle.js"],"sourcesContent":["/**\n * If the provided style is an object, it will be returned as is.\n * Otherwise, the function will call the style function with the state as the first argument.\n *\n * @param style\n * @param state\n */\nexport function resolveStyle(style, state) {\n return typeof style === 'function' ? style(state) : style;\n}"],"names":["resolveStyle","style","state"],"mappings":"AAOO,SAASA,EAAaC,GAAOC,GAAO;AACzC,SAAO,OAAOD,KAAU,aAAaA,EAAMC,CAAK,IAAID;AACtD;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index341.js","sources":["../../../node_modules/@base-ui/utils/esm/warn.js"],"sourcesContent":["let set;\nif (process.env.NODE_ENV !== 'production') {\n set = new Set();\n}\nexport function warn(...messages) {\n if (process.env.NODE_ENV !== 'production') {\n const messageKey = messages.join(' ');\n if (!set.has(messageKey)) {\n set.add(messageKey);\n console.warn(`Base UI: ${messageKey}`);\n }\n }\n}"],"names":["set","warn","messages","messageKey"],"mappings":"AAAA,IAAIA;AACA,QAAQ,IAAI,aAAa,iBAC3BA,IAAM,oBAAI,IAAG;AAER,SAASC,KAAQC,GAAU;AAChC,MAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,UAAMC,IAAaD,EAAS,KAAK,GAAG;AACpC,IAAKF,EAAI,IAAIG,CAAU,MACrBH,EAAI,IAAIG,CAAU,GAClB,QAAQ,KAAK,YAAYA,CAAU,EAAE;AAAA,EAEzC;AACF;","x_google_ignoreList":[0]}
package/dist/index342.js CHANGED
@@ -1,21 +1,17 @@
1
- import * as n from "react";
2
- import { SafeReact as f } from "./index356.js";
3
- let o = 0;
4
- function l(u, t = "mui") {
5
- const [e, s] = n.useState(u), c = u || e;
6
- return n.useEffect(() => {
7
- e == null && (o += 1, s(`${t}-${o}`));
8
- }, [e, t]), c;
9
- }
10
- const a = f.useId;
11
- function I(u, t) {
12
- if (a !== void 0) {
13
- const e = a();
14
- return u ?? (t ? `${t}-${e}` : e);
1
+ function i(r, n) {
2
+ const o = {};
3
+ for (const t in r) {
4
+ const e = r[t];
5
+ if (n?.hasOwnProperty(t)) {
6
+ const s = n[t](e);
7
+ s != null && Object.assign(o, s);
8
+ continue;
9
+ }
10
+ e === !0 ? o[`data-${t.toLowerCase()}`] = "" : e && (o[`data-${t.toLowerCase()}`] = e.toString());
15
11
  }
16
- return l(u, t);
12
+ return o;
17
13
  }
18
14
  export {
19
- I as useId
15
+ i as getStateAttributesProps
20
16
  };
21
17
  //# sourceMappingURL=index342.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index342.js","sources":["../../../node_modules/@base-ui/utils/esm/useId.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { SafeReact } from \"./safeReact.js\";\nlet globalId = 0;\n\n// TODO React 17: Remove `useGlobalId` once React 17 support is removed\nfunction useGlobalId(idOverride, prefix = 'mui') {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`${prefix}-${globalId}`);\n }\n }, [defaultId, prefix]);\n return id;\n}\nconst maybeReactUseId = SafeReact.useId;\n\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport function useId(idOverride, prefix) {\n // React.useId() is only available from React 17.0.0.\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? (prefix ? `${prefix}-${reactId}` : reactId);\n }\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride, prefix);\n}"],"names":["globalId","useGlobalId","idOverride","prefix","defaultId","setDefaultId","React","id","maybeReactUseId","SafeReact","useId","reactId"],"mappings":";;AAIA,IAAIA,IAAW;AAGf,SAASC,EAAYC,GAAYC,IAAS,OAAO;AAC/C,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAM,SAASJ,CAAU,GACrDK,IAAKL,KAAcE;AACzB,SAAAE,EAAM,UAAU,MAAM;AACpB,IAAIF,KAAa,SAKfJ,KAAY,GACZK,EAAa,GAAGF,CAAM,IAAIH,CAAQ,EAAE;AAAA,EAExC,GAAG,CAACI,GAAWD,CAAM,CAAC,GACfI;AACT;AACA,MAAMC,IAAkBC,EAAU;AAQ3B,SAASC,EAAMR,GAAYC,GAAQ;AAExC,MAAIK,MAAoB,QAAW;AACjC,UAAMG,IAAUH,EAAe;AAC/B,WAAON,MAAeC,IAAS,GAAGA,CAAM,IAAIQ,CAAO,KAAKA;AAAA,EAC1D;AAIA,SAAOV,EAAYC,GAAYC,CAAM;AACvC;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index342.js","sources":["../../../node_modules/@base-ui/react/esm/internals/getStateAttributesProps.js"],"sourcesContent":["export function getStateAttributesProps(state, customMapping) {\n const props = {};\n\n /* eslint-disable-next-line guard-for-in */\n for (const key in state) {\n const value = state[key];\n if (customMapping?.hasOwnProperty(key)) {\n const customProps = customMapping[key](value);\n if (customProps != null) {\n Object.assign(props, customProps);\n }\n continue;\n }\n if (value === true) {\n props[`data-${key.toLowerCase()}`] = '';\n } else if (value) {\n props[`data-${key.toLowerCase()}`] = value.toString();\n }\n }\n return props;\n}"],"names":["getStateAttributesProps","state","customMapping","props","key","value","customProps"],"mappings":"AAAO,SAASA,EAAwBC,GAAOC,GAAe;AAC5D,QAAMC,IAAQ,CAAA;AAGd,aAAWC,KAAOH,GAAO;AACvB,UAAMI,IAAQJ,EAAMG,CAAG;AACvB,QAAIF,GAAe,eAAeE,CAAG,GAAG;AACtC,YAAME,IAAcJ,EAAcE,CAAG,EAAEC,CAAK;AAC5C,MAAIC,KAAe,QACjB,OAAO,OAAOH,GAAOG,CAAW;AAElC;AAAA,IACF;AACA,IAAID,MAAU,KACZF,EAAM,QAAQC,EAAI,YAAW,CAAE,EAAE,IAAI,KAC5BC,MACTF,EAAM,QAAQC,EAAI,YAAW,CAAE,EAAE,IAAIC,EAAM,SAAQ;AAAA,EAEvD;AACA,SAAOF;AACT;","x_google_ignoreList":[0]}
package/dist/index343.js CHANGED
@@ -1,23 +1,7 @@
1
- import c, { getCountryCallingCode as b } from "./index164.js";
2
- import g from "./index331.js";
3
- import C from "./index332.js";
4
- import h from "./index314.js";
5
- function P(i, r, l, N, n) {
6
- var e = r || l ? b(r || l, n) : N;
7
- if (i.indexOf(e) === 0) {
8
- n = new c(n), n.selectNumberingPlan(r || l, e);
9
- var o = i.slice(e.length), f = C(o, r, n), m = f.nationalNumber, u = C(i, r, n), t = u.nationalNumber;
10
- if (!g(t, n.nationalNumberPattern()) && g(m, n.nationalNumberPattern()) || h(t, r, n) === "TOO_LONG")
11
- return {
12
- countryCallingCode: e,
13
- number: o
14
- };
15
- }
16
- return {
17
- number: i
18
- };
1
+ function t(n, o) {
2
+ return typeof n == "function" ? n(o) : n;
19
3
  }
20
4
  export {
21
- P as default
5
+ t as resolveClassName
22
6
  };
23
7
  //# sourceMappingURL=index343.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index343.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js"],"sourcesContent":["import Metadata from '../metadata.js';\nimport matchesEntirely from './matchesEntirely.js';\nimport extractNationalNumber from './extractNationalNumber.js';\nimport checkNumberLength from './checkNumberLength.js';\nimport getCountryCallingCode from '../getCountryCallingCode.js';\n\n/**\r\n * Sometimes some people incorrectly input international phone numbers\r\n * without the leading `+`. This function corrects such input.\r\n * @param {string} number — Phone number digits.\r\n * @param {string} [country] — Exact country of the phone number.\r\n * @param {string} [defaultCountry]\r\n * @param {string} [defaultCallingCode]\r\n * @param {object} metadata\r\n * @return {object} `{ countryCallingCode: string?, number: string }`.\r\n */\nexport default function extractCountryCallingCodeFromInternationalNumberWithoutPlusSign(number, country, defaultCountry, defaultCallingCode, metadata) {\n var countryCallingCode = country || defaultCountry ? getCountryCallingCode(country || defaultCountry, metadata) : defaultCallingCode;\n if (number.indexOf(countryCallingCode) === 0) {\n metadata = new Metadata(metadata);\n metadata.selectNumberingPlan(country || defaultCountry, countryCallingCode);\n var possibleShorterNumber = number.slice(countryCallingCode.length);\n var _extractNationalNumbe = extractNationalNumber(possibleShorterNumber, country, metadata),\n possibleShorterNationalNumber = _extractNationalNumbe.nationalNumber;\n var _extractNationalNumbe2 = extractNationalNumber(number, country, metadata),\n nationalNumber = _extractNationalNumbe2.nationalNumber;\n\n // If the number was not valid before but is valid now,\n // or if it was too long before, we consider the number\n // with the country calling code stripped to be a better result\n // and keep that instead.\n // For example, in Germany (+49), `49` is a valid area code,\n // so if a number starts with `49`, it could be both a valid\n // national German number or an international number without\n // a leading `+`.\n if (!matchesEntirely(nationalNumber, metadata.nationalNumberPattern()) && matchesEntirely(possibleShorterNationalNumber, metadata.nationalNumberPattern()) || checkNumberLength(nationalNumber, country, metadata) === 'TOO_LONG') {\n return {\n countryCallingCode: countryCallingCode,\n number: possibleShorterNumber\n };\n }\n }\n return {\n number: number\n };\n}\n//# sourceMappingURL=extractCountryCallingCodeFromInternationalNumberWithoutPlusSign.js.map"],"names":["extractCountryCallingCodeFromInternationalNumberWithoutPlusSign","number","country","defaultCountry","defaultCallingCode","metadata","countryCallingCode","getCountryCallingCode","Metadata","possibleShorterNumber","_extractNationalNumbe","extractNationalNumber","possibleShorterNationalNumber","_extractNationalNumbe2","nationalNumber","matchesEntirely","checkNumberLength"],"mappings":";;;;AAgBe,SAASA,EAAgEC,GAAQC,GAASC,GAAgBC,GAAoBC,GAAU;AACrJ,MAAIC,IAAqBJ,KAAWC,IAAiBI,EAAsBL,KAAWC,GAAgBE,CAAQ,IAAID;AAClH,MAAIH,EAAO,QAAQK,CAAkB,MAAM,GAAG;AAC5C,IAAAD,IAAW,IAAIG,EAASH,CAAQ,GAChCA,EAAS,oBAAoBH,KAAWC,GAAgBG,CAAkB;AAC1E,QAAIG,IAAwBR,EAAO,MAAMK,EAAmB,MAAM,GAC9DI,IAAwBC,EAAsBF,GAAuBP,GAASG,CAAQ,GACxFO,IAAgCF,EAAsB,gBACpDG,IAAyBF,EAAsBV,GAAQC,GAASG,CAAQ,GAC1ES,IAAiBD,EAAuB;AAU1C,QAAI,CAACE,EAAgBD,GAAgBT,EAAS,sBAAqB,CAAE,KAAKU,EAAgBH,GAA+BP,EAAS,sBAAqB,CAAE,KAAKW,EAAkBF,GAAgBZ,GAASG,CAAQ,MAAM;AACrN,aAAO;AAAA,QACL,oBAAoBC;AAAA,QACpB,QAAQG;AAAA,MAChB;AAAA,EAEE;AACA,SAAO;AAAA,IACL,QAAQR;AAAA,EACZ;AACA;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index343.js","sources":["../../../node_modules/@base-ui/react/esm/utils/resolveClassName.js"],"sourcesContent":["/**\n * If the provided className is a string, it will be returned as is.\n * Otherwise, the function will call the className function with the state as the first argument.\n *\n * @param className\n * @param state\n */\nexport function resolveClassName(className, state) {\n return typeof className === 'function' ? className(state) : className;\n}"],"names":["resolveClassName","className","state"],"mappings":"AAOO,SAASA,EAAiBC,GAAWC,GAAO;AACjD,SAAO,OAAOD,KAAc,aAAaA,EAAUC,CAAK,IAAID;AAC9D;","x_google_ignoreList":[0]}
package/dist/index344.js CHANGED
@@ -1,32 +1,7 @@
1
- function F(l, i) {
2
- if (l && i.numberingPlan.nationalPrefixForParsing()) {
3
- var g = new RegExp("^(?:" + i.numberingPlan.nationalPrefixForParsing() + ")"), n = g.exec(l);
4
- if (n) {
5
- var r, P, v = n.length - 1, e = v > 0 && n[v];
6
- if (i.nationalPrefixTransformRule() && e)
7
- r = l.replace(g, i.nationalPrefixTransformRule()), v > 1 && (P = n[1]);
8
- else {
9
- var o = n[0];
10
- r = l.slice(o.length), e && (P = n[1]);
11
- }
12
- var f;
13
- if (e) {
14
- var s = l.indexOf(n[1]), a = l.slice(0, s);
15
- a === i.numberingPlan.nationalPrefix() && (f = i.numberingPlan.nationalPrefix());
16
- } else
17
- f = n[0];
18
- return {
19
- nationalNumber: r,
20
- nationalPrefix: f,
21
- carrierCode: P
22
- };
23
- }
24
- }
25
- return {
26
- nationalNumber: l
27
- };
1
+ function e(n, o) {
2
+ return typeof n == "function" ? n(o) : n;
28
3
  }
29
4
  export {
30
- F as default
5
+ e as resolveStyle
31
6
  };
32
7
  //# sourceMappingURL=index344.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index344.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/extractNationalNumberFromPossiblyIncompleteNumber.js"],"sourcesContent":["/**\r\n * Strips any national prefix (such as 0, 1) present in a\r\n * (possibly incomplete) number provided.\r\n * \"Carrier codes\" are only used in Colombia and Brazil,\r\n * and only when dialing within those countries from a mobile phone to a fixed line number.\r\n * Sometimes it won't actually strip national prefix\r\n * and will instead prepend some digits to the `number`:\r\n * for example, when number `2345678` is passed with `VI` country selected,\r\n * it will return `{ number: \"3402345678\" }`, because `340` area code is prepended.\r\n * @param {string} number — National number digits.\r\n * @param {object} metadata — Metadata with country selected.\r\n * @return {object} `{ nationalNumber: string, nationalPrefix: string? carrierCode: string? }`. Even if a national prefix was extracted, it's not necessarily present in the returned object, so don't rely on its presence in the returned object in order to find out whether a national prefix has been extracted or not.\r\n */\nexport default function extractNationalNumberFromPossiblyIncompleteNumber(number, metadata) {\n if (number && metadata.numberingPlan.nationalPrefixForParsing()) {\n // See METADATA.md for the description of\n // `national_prefix_for_parsing` and `national_prefix_transform_rule`.\n // Attempt to parse the first digits as a national prefix.\n var prefixPattern = new RegExp('^(?:' + metadata.numberingPlan.nationalPrefixForParsing() + ')');\n var prefixMatch = prefixPattern.exec(number);\n if (prefixMatch) {\n var nationalNumber;\n var carrierCode;\n // https://gitlab.com/catamphetamine/libphonenumber-js/-/blob/master/METADATA.md#national_prefix_for_parsing--national_prefix_transform_rule\n // If a `national_prefix_for_parsing` has any \"capturing groups\"\n // then it means that the national (significant) number is equal to\n // those \"capturing groups\" transformed via `national_prefix_transform_rule`,\n // and nothing could be said about the actual national prefix:\n // what is it and was it even there.\n // If a `national_prefix_for_parsing` doesn't have any \"capturing groups\",\n // then everything it matches is a national prefix.\n // To determine whether `national_prefix_for_parsing` matched any\n // \"capturing groups\", the value of the result of calling `.exec()`\n // is looked at, and if it has non-undefined values where there're\n // \"capturing groups\" in the regular expression, then it means\n // that \"capturing groups\" have been matched.\n // It's not possible to tell whether there'll be any \"capturing gropus\"\n // before the matching process, because a `national_prefix_for_parsing`\n // could exhibit both behaviors.\n var capturedGroupsCount = prefixMatch.length - 1;\n var hasCapturedGroups = capturedGroupsCount > 0 && prefixMatch[capturedGroupsCount];\n if (metadata.nationalPrefixTransformRule() && hasCapturedGroups) {\n nationalNumber = number.replace(prefixPattern, metadata.nationalPrefixTransformRule());\n // If there's more than one captured group,\n // then carrier code is the second one.\n if (capturedGroupsCount > 1) {\n carrierCode = prefixMatch[1];\n }\n }\n // If there're no \"capturing groups\",\n // or if there're \"capturing groups\" but no\n // `national_prefix_transform_rule`,\n // then just strip the national prefix from the number,\n // and possibly a carrier code.\n // Seems like there could be more.\n else {\n // `prefixBeforeNationalNumber` is the whole substring matched by\n // the `national_prefix_for_parsing` regular expression.\n // There seem to be no guarantees that it's just a national prefix.\n // For example, if there's a carrier code, it's gonna be a\n // part of `prefixBeforeNationalNumber` too.\n var prefixBeforeNationalNumber = prefixMatch[0];\n nationalNumber = number.slice(prefixBeforeNationalNumber.length);\n // If there's at least one captured group,\n // then carrier code is the first one.\n if (hasCapturedGroups) {\n carrierCode = prefixMatch[1];\n }\n }\n // Tries to guess whether a national prefix was present in the input.\n // This is not something copy-pasted from Google's library:\n // they don't seem to have an equivalent for that.\n // So this isn't an \"officially approved\" way of doing something like that.\n // But since there seems no other existing method, this library uses it.\n var nationalPrefix;\n if (hasCapturedGroups) {\n var possiblePositionOfTheFirstCapturedGroup = number.indexOf(prefixMatch[1]);\n var possibleNationalPrefix = number.slice(0, possiblePositionOfTheFirstCapturedGroup);\n // Example: an Argentinian (AR) phone number `0111523456789`.\n // `prefixMatch[0]` is `01115`, and `$1` is `11`,\n // and the rest of the phone number is `23456789`.\n // The national number is transformed via `9$1` to `91123456789`.\n // National prefix `0` is detected being present at the start.\n // if (possibleNationalPrefix.indexOf(metadata.numberingPlan.nationalPrefix()) === 0) {\n if (possibleNationalPrefix === metadata.numberingPlan.nationalPrefix()) {\n nationalPrefix = metadata.numberingPlan.nationalPrefix();\n }\n } else {\n nationalPrefix = prefixMatch[0];\n }\n return {\n nationalNumber: nationalNumber,\n nationalPrefix: nationalPrefix,\n carrierCode: carrierCode\n };\n }\n }\n return {\n nationalNumber: number\n };\n}\n//# sourceMappingURL=extractNationalNumberFromPossiblyIncompleteNumber.js.map"],"names":["extractNationalNumberFromPossiblyIncompleteNumber","number","metadata","prefixPattern","prefixMatch","nationalNumber","carrierCode","capturedGroupsCount","hasCapturedGroups","prefixBeforeNationalNumber","nationalPrefix","possiblePositionOfTheFirstCapturedGroup","possibleNationalPrefix"],"mappings":"AAae,SAASA,EAAkDC,GAAQC,GAAU;AAC1F,MAAID,KAAUC,EAAS,cAAc,yBAAwB,GAAI;AAI/D,QAAIC,IAAgB,IAAI,OAAO,SAASD,EAAS,cAAc,yBAAwB,IAAK,GAAG,GAC3FE,IAAcD,EAAc,KAAKF,CAAM;AAC3C,QAAIG,GAAa;AACf,UAAIC,GACAC,GAiBAC,IAAsBH,EAAY,SAAS,GAC3CI,IAAoBD,IAAsB,KAAKH,EAAYG,CAAmB;AAClF,UAAIL,EAAS,4BAA2B,KAAMM;AAC5C,QAAAH,IAAiBJ,EAAO,QAAQE,GAAeD,EAAS,4BAA2B,CAAE,GAGjFK,IAAsB,MACxBD,IAAcF,EAAY,CAAC;AAAA,WAS1B;AAMH,YAAIK,IAA6BL,EAAY,CAAC;AAC9C,QAAAC,IAAiBJ,EAAO,MAAMQ,EAA2B,MAAM,GAG3DD,MACFF,IAAcF,EAAY,CAAC;AAAA,MAE/B;AAMA,UAAIM;AACJ,UAAIF,GAAmB;AACrB,YAAIG,IAA0CV,EAAO,QAAQG,EAAY,CAAC,CAAC,GACvEQ,IAAyBX,EAAO,MAAM,GAAGU,CAAuC;AAOpF,QAAIC,MAA2BV,EAAS,cAAc,eAAc,MAClEQ,IAAiBR,EAAS,cAAc,eAAc;AAAA,MAE1D;AACE,QAAAQ,IAAiBN,EAAY,CAAC;AAEhC,aAAO;AAAA,QACL,gBAAgBC;AAAA,QAChB,gBAAgBK;AAAA,QAChB,aAAaJ;AAAA,MACrB;AAAA,IACI;AAAA,EACF;AACA,SAAO;AAAA,IACL,gBAAgBL;AAAA,EACpB;AACA;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index344.js","sources":["../../../node_modules/@base-ui/react/esm/utils/resolveStyle.js"],"sourcesContent":["/**\n * If the provided style is an object, it will be returned as is.\n * Otherwise, the function will call the style function with the state as the first argument.\n *\n * @param style\n * @param state\n */\nexport function resolveStyle(style, state) {\n return typeof style === 'function' ? style(state) : style;\n}"],"names":["resolveStyle","style","state"],"mappings":"AAOO,SAASA,EAAaC,GAAOC,GAAO;AACzC,SAAO,OAAOD,KAAU,aAAaA,EAAMC,CAAK,IAAID;AACtD;","x_google_ignoreList":[0]}
package/dist/index345.js CHANGED
@@ -1,20 +1,21 @@
1
- import I from "./index164.js";
2
- import { VALID_DIGITS as l } from "./index160.js";
3
- var c = new RegExp("([" + l + "])");
4
- function D(t, r, f, n) {
5
- if (r) {
6
- var a = new I(n);
7
- a.selectNumberingPlan(r, f);
8
- var i = new RegExp(a.IDDPrefix());
9
- if (t.search(i) === 0) {
10
- t = t.slice(t.match(i)[0].length);
11
- var e = t.match(c);
12
- if (!(e && e[1] != null && e[1].length > 0 && e[1] === "0"))
13
- return t;
14
- }
1
+ import * as n from "react";
2
+ import { SafeReact as f } from "./index356.js";
3
+ let o = 0;
4
+ function l(u, t = "mui") {
5
+ const [e, s] = n.useState(u), c = u || e;
6
+ return n.useEffect(() => {
7
+ e == null && (o += 1, s(`${t}-${o}`));
8
+ }, [e, t]), c;
9
+ }
10
+ const a = f.useId;
11
+ function I(u, t) {
12
+ if (a !== void 0) {
13
+ const e = a();
14
+ return u ?? (t ? `${t}-${e}` : e);
15
15
  }
16
+ return l(u, t);
16
17
  }
17
18
  export {
18
- D as default
19
+ I as useId
19
20
  };
20
21
  //# sourceMappingURL=index345.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index345.js","sources":["../../../node_modules/libphonenumber-js/es6/helpers/stripIddPrefix.js"],"sourcesContent":["import Metadata from '../metadata.js';\nimport { VALID_DIGITS } from '../constants.js';\nvar CAPTURING_DIGIT_PATTERN = new RegExp('([' + VALID_DIGITS + '])');\nexport default function stripIddPrefix(number, country, callingCode, metadata) {\n if (!country) {\n return;\n }\n // Check if the number is IDD-prefixed.\n var countryMetadata = new Metadata(metadata);\n countryMetadata.selectNumberingPlan(country, callingCode);\n var IDDPrefixPattern = new RegExp(countryMetadata.IDDPrefix());\n if (number.search(IDDPrefixPattern) !== 0) {\n return;\n }\n // Strip IDD prefix.\n number = number.slice(number.match(IDDPrefixPattern)[0].length);\n // If there're any digits after an IDD prefix,\n // then those digits are a country calling code.\n // Since no country code starts with a `0`,\n // the code below validates that the next digit (if present) is not `0`.\n var matchedGroups = number.match(CAPTURING_DIGIT_PATTERN);\n if (matchedGroups && matchedGroups[1] != null && matchedGroups[1].length > 0) {\n if (matchedGroups[1] === '0') {\n return;\n }\n }\n return number;\n}\n//# sourceMappingURL=stripIddPrefix.js.map"],"names":["CAPTURING_DIGIT_PATTERN","VALID_DIGITS","stripIddPrefix","number","country","callingCode","metadata","countryMetadata","Metadata","IDDPrefixPattern","matchedGroups"],"mappings":";;AAEA,IAAIA,IAA0B,IAAI,OAAO,OAAOC,IAAe,IAAI;AACpD,SAASC,EAAeC,GAAQC,GAASC,GAAaC,GAAU;AAC7E,MAAKF,GAIL;AAAA,QAAIG,IAAkB,IAAIC,EAASF,CAAQ;AAC3C,IAAAC,EAAgB,oBAAoBH,GAASC,CAAW;AACxD,QAAII,IAAmB,IAAI,OAAOF,EAAgB,UAAS,CAAE;AAC7D,QAAIJ,EAAO,OAAOM,CAAgB,MAAM,GAIxC;AAAA,MAAAN,IAASA,EAAO,MAAMA,EAAO,MAAMM,CAAgB,EAAE,CAAC,EAAE,MAAM;AAK9D,UAAIC,IAAgBP,EAAO,MAAMH,CAAuB;AACxD,UAAI,EAAAU,KAAiBA,EAAc,CAAC,KAAK,QAAQA,EAAc,CAAC,EAAE,SAAS,KACrEA,EAAc,CAAC,MAAM;AAI3B,eAAOP;AAAA;AAAA;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index345.js","sources":["../../../node_modules/@base-ui/utils/esm/useId.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { SafeReact } from \"./safeReact.js\";\nlet globalId = 0;\n\n// TODO React 17: Remove `useGlobalId` once React 17 support is removed\nfunction useGlobalId(idOverride, prefix = 'mui') {\n const [defaultId, setDefaultId] = React.useState(idOverride);\n const id = idOverride || defaultId;\n React.useEffect(() => {\n if (defaultId == null) {\n // Fallback to this default id when possible.\n // Use the incrementing value for client-side rendering only.\n // We can't use it server-side.\n // If you want to use random values please consider the Birthday Problem: https://en.wikipedia.org/wiki/Birthday_problem\n globalId += 1;\n setDefaultId(`${prefix}-${globalId}`);\n }\n }, [defaultId, prefix]);\n return id;\n}\nconst maybeReactUseId = SafeReact.useId;\n\n/**\n *\n * @example <div id={useId()} />\n * @param idOverride\n * @returns {string}\n */\nexport function useId(idOverride, prefix) {\n // React.useId() is only available from React 17.0.0.\n if (maybeReactUseId !== undefined) {\n const reactId = maybeReactUseId();\n return idOverride ?? (prefix ? `${prefix}-${reactId}` : reactId);\n }\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- `React.useId` is invariant at runtime.\n return useGlobalId(idOverride, prefix);\n}"],"names":["globalId","useGlobalId","idOverride","prefix","defaultId","setDefaultId","React","id","maybeReactUseId","SafeReact","useId","reactId"],"mappings":";;AAIA,IAAIA,IAAW;AAGf,SAASC,EAAYC,GAAYC,IAAS,OAAO;AAC/C,QAAM,CAACC,GAAWC,CAAY,IAAIC,EAAM,SAASJ,CAAU,GACrDK,IAAKL,KAAcE;AACzB,SAAAE,EAAM,UAAU,MAAM;AACpB,IAAIF,KAAa,SAKfJ,KAAY,GACZK,EAAa,GAAGF,CAAM,IAAIH,CAAQ,EAAE;AAAA,EAExC,GAAG,CAACI,GAAWD,CAAM,CAAC,GACfI;AACT;AACA,MAAMC,IAAkBC,EAAU;AAQ3B,SAASC,EAAMR,GAAYC,GAAQ;AAExC,MAAIK,MAAoB,QAAW;AACjC,UAAMG,IAAUH,EAAe;AAC/B,WAAON,MAAeC,IAAS,GAAGA,CAAM,IAAIQ,CAAO,KAAKA;AAAA,EAC1D;AAIA,SAAOV,EAAYC,GAAYC,CAAM;AACvC;","x_google_ignoreList":[0]}
package/dist/index347.js CHANGED
@@ -1,126 +1,9 @@
1
- import { getWindow as d, isOverflowElement as m } from "./index309.js";
2
- import { addEventListener as T } from "./index300.js";
3
- import { isIOS as E, isWebKit as H } from "./index301.js";
4
- import { ownerDocument as a } from "./index284.js";
5
- import { useIsoLayoutEffect as z } from "./index261.js";
6
- import { Timeout as k } from "./index285.js";
7
- import { AnimationFrame as j } from "./index302.js";
8
- import { NOOP as F } from "./index264.js";
9
- let Y = {}, C = {}, O = "";
10
- function R(s) {
11
- if (typeof document > "u")
12
- return !1;
13
- const e = a(s);
14
- return d(e).innerWidth - e.documentElement.clientWidth > 0;
15
- }
16
- function I(s) {
17
- if (!(typeof CSS < "u" && CSS.supports && CSS.supports("scrollbar-gutter", "stable")) || typeof document > "u")
18
- return !1;
19
- const t = a(s), o = t.documentElement, l = t.body, r = m(o) ? o : l, i = r.style.overflowY, c = o.style.scrollbarGutter;
20
- o.style.scrollbarGutter = "stable", r.style.overflowY = "scroll";
21
- const u = r.offsetWidth;
22
- r.style.overflowY = "hidden";
23
- const f = r.offsetWidth;
24
- return r.style.overflowY = i, o.style.scrollbarGutter = c, u === f;
25
- }
26
- function V(s) {
27
- const e = a(s), t = e.documentElement, o = e.body, l = m(t) ? t : o, r = {
28
- overflowY: l.style.overflowY,
29
- overflowX: l.style.overflowX
30
- };
31
- return Object.assign(l.style, {
32
- overflowY: "hidden",
33
- overflowX: "hidden"
34
- }), () => {
35
- Object.assign(l.style, r);
36
- };
37
- }
38
- function q(s) {
39
- const e = a(s), t = e.documentElement, o = e.body, l = d(t);
40
- let r = 0, i = 0, c = !1;
41
- const u = j.create();
42
- if (H && (l.visualViewport?.scale ?? 1) !== 1)
43
- return () => {
44
- };
45
- function f() {
46
- const h = l.getComputedStyle(t), n = l.getComputedStyle(o), v = (h.scrollbarGutter || "").includes("both-edges") ? "stable both-edges" : "stable";
47
- r = t.scrollTop, i = t.scrollLeft, Y = {
48
- scrollbarGutter: t.style.scrollbarGutter,
49
- overflowY: t.style.overflowY,
50
- overflowX: t.style.overflowX
51
- }, O = t.style.scrollBehavior, C = {
52
- position: o.style.position,
53
- height: o.style.height,
54
- width: o.style.width,
55
- boxSizing: o.style.boxSizing,
56
- overflowY: o.style.overflowY,
57
- overflowX: o.style.overflowX,
58
- scrollBehavior: o.style.scrollBehavior
59
- };
60
- const G = t.scrollHeight > t.clientHeight, B = t.scrollWidth > t.clientWidth, W = h.overflowY === "scroll" || n.overflowY === "scroll", x = h.overflowX === "scroll" || n.overflowX === "scroll", b = Math.max(0, l.innerWidth - o.clientWidth), w = Math.max(0, l.innerHeight - o.clientHeight), p = parseFloat(n.marginTop) + parseFloat(n.marginBottom), g = parseFloat(n.marginLeft) + parseFloat(n.marginRight), S = m(t) ? t : o;
61
- if (c = I(s), c) {
62
- t.style.scrollbarGutter = v, S.style.overflowY = "hidden", S.style.overflowX = "hidden";
63
- return;
64
- }
65
- Object.assign(t.style, {
66
- scrollbarGutter: v,
67
- overflowY: "hidden",
68
- overflowX: "hidden"
69
- }), (G || W) && (t.style.overflowY = "scroll"), (B || x) && (t.style.overflowX = "scroll"), Object.assign(o.style, {
70
- position: "relative",
71
- height: p || w ? `calc(100dvh - ${p + w}px)` : "100dvh",
72
- width: g || b ? `calc(100vw - ${g + b}px)` : "100vw",
73
- boxSizing: "border-box",
74
- overflow: "hidden",
75
- scrollBehavior: "unset"
76
- }), o.scrollTop = r, o.scrollLeft = i, t.setAttribute("data-base-ui-scroll-locked", ""), t.style.scrollBehavior = "unset";
77
- }
78
- function y() {
79
- Object.assign(t.style, Y), Object.assign(o.style, C), c || (t.scrollTop = r, t.scrollLeft = i, t.removeAttribute("data-base-ui-scroll-locked"), t.style.scrollBehavior = O);
80
- }
81
- function L() {
82
- y(), u.request(f);
83
- }
84
- f();
85
- const X = T(l, "resize", L);
86
- return () => {
87
- u.cancel(), y(), typeof l.removeEventListener == "function" && X();
88
- };
89
- }
90
- class A {
91
- lockCount = 0;
92
- restore = null;
93
- timeoutLock = k.create();
94
- timeoutUnlock = k.create();
95
- acquire(e) {
96
- return this.lockCount += 1, this.lockCount === 1 && this.restore === null && this.timeoutLock.start(0, () => this.lock(e)), this.release;
97
- }
98
- release = () => {
99
- this.lockCount -= 1, this.lockCount === 0 && this.restore && this.timeoutUnlock.start(0, this.unlock);
100
- };
101
- unlock = () => {
102
- this.lockCount === 0 && this.restore && (this.restore?.(), this.restore = null);
103
- };
104
- lock(e) {
105
- if (this.lockCount === 0 || this.restore !== null)
106
- return;
107
- const o = a(e).documentElement, l = d(o).getComputedStyle(o).overflowY;
108
- if (l === "hidden" || l === "clip") {
109
- this.restore = F;
110
- return;
111
- }
112
- const r = E || !R(e);
113
- this.restore = r ? V(e) : q(e);
114
- }
115
- }
116
- const K = new A();
117
- function tt(s = !0, e = null) {
118
- z(() => {
119
- if (s)
120
- return K.acquire(e);
121
- }, [s, e]);
1
+ import * as t from "react";
2
+ const e = parseInt(t.version, 10);
3
+ function o(r) {
4
+ return e >= r;
122
5
  }
123
6
  export {
124
- tt as useScrollLock
7
+ o as isReactVersionAtLeast
125
8
  };
126
9
  //# sourceMappingURL=index347.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index347.js","sources":["../../../node_modules/@base-ui/utils/esm/useScrollLock.js"],"sourcesContent":["'use client';\n\nimport { isOverflowElement } from '@floating-ui/utils/dom';\nimport { addEventListener } from \"./addEventListener.js\";\nimport { isIOS, isWebKit } from \"./detectBrowser.js\";\nimport { ownerDocument, ownerWindow } from \"./owner.js\";\nimport { useIsoLayoutEffect } from \"./useIsoLayoutEffect.js\";\nimport { Timeout } from \"./useTimeout.js\";\nimport { AnimationFrame } from \"./useAnimationFrame.js\";\nimport { NOOP } from \"./empty.js\";\nlet originalHtmlStyles = {};\nlet originalBodyStyles = {};\nlet originalHtmlScrollBehavior = '';\nfunction hasInsetScrollbars(referenceElement) {\n if (typeof document === 'undefined') {\n return false;\n }\n const doc = ownerDocument(referenceElement);\n const win = ownerWindow(doc);\n return win.innerWidth - doc.documentElement.clientWidth > 0;\n}\nfunction supportsStableScrollbarGutter(referenceElement) {\n const supported = typeof CSS !== 'undefined' && CSS.supports && CSS.supports('scrollbar-gutter', 'stable');\n if (!supported || typeof document === 'undefined') {\n return false;\n }\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const body = doc.body;\n const scrollContainer = isOverflowElement(html) ? html : body;\n const originalScrollContainerOverflowY = scrollContainer.style.overflowY;\n const originalHtmlStyleGutter = html.style.scrollbarGutter;\n html.style.scrollbarGutter = 'stable';\n scrollContainer.style.overflowY = 'scroll';\n const before = scrollContainer.offsetWidth;\n scrollContainer.style.overflowY = 'hidden';\n const after = scrollContainer.offsetWidth;\n scrollContainer.style.overflowY = originalScrollContainerOverflowY;\n html.style.scrollbarGutter = originalHtmlStyleGutter;\n return before === after;\n}\nfunction preventScrollOverlayScrollbars(referenceElement) {\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const body = doc.body;\n\n // If an `overflow` style is present on <html>, we need to lock it, because a lock on <body>\n // won't have any effect.\n // But if <body> has an `overflow` style (like `overflow-x: hidden`), we need to lock it\n // instead, as sticky elements shift otherwise.\n const elementToLock = isOverflowElement(html) ? html : body;\n const originalElementToLockStyles = {\n overflowY: elementToLock.style.overflowY,\n overflowX: elementToLock.style.overflowX\n };\n Object.assign(elementToLock.style, {\n overflowY: 'hidden',\n overflowX: 'hidden'\n });\n return () => {\n Object.assign(elementToLock.style, originalElementToLockStyles);\n };\n}\nfunction preventScrollInsetScrollbars(referenceElement) {\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const body = doc.body;\n const win = ownerWindow(html);\n let scrollTop = 0;\n let scrollLeft = 0;\n let updateGutterOnly = false;\n const resizeFrame = AnimationFrame.create();\n\n // Pinch-zoom in Safari causes a shift. Just don't lock scroll if there's any pinch-zoom.\n if (isWebKit && (win.visualViewport?.scale ?? 1) !== 1) {\n return () => {};\n }\n function lockScroll() {\n /* DOM reads: */\n\n const htmlStyles = win.getComputedStyle(html);\n const bodyStyles = win.getComputedStyle(body);\n const htmlScrollbarGutterValue = htmlStyles.scrollbarGutter || '';\n const hasBothEdges = htmlScrollbarGutterValue.includes('both-edges');\n const scrollbarGutterValue = hasBothEdges ? 'stable both-edges' : 'stable';\n scrollTop = html.scrollTop;\n scrollLeft = html.scrollLeft;\n originalHtmlStyles = {\n scrollbarGutter: html.style.scrollbarGutter,\n overflowY: html.style.overflowY,\n overflowX: html.style.overflowX\n };\n originalHtmlScrollBehavior = html.style.scrollBehavior;\n originalBodyStyles = {\n position: body.style.position,\n height: body.style.height,\n width: body.style.width,\n boxSizing: body.style.boxSizing,\n overflowY: body.style.overflowY,\n overflowX: body.style.overflowX,\n scrollBehavior: body.style.scrollBehavior\n };\n const isScrollableY = html.scrollHeight > html.clientHeight;\n const isScrollableX = html.scrollWidth > html.clientWidth;\n const hasConstantOverflowY = htmlStyles.overflowY === 'scroll' || bodyStyles.overflowY === 'scroll';\n const hasConstantOverflowX = htmlStyles.overflowX === 'scroll' || bodyStyles.overflowX === 'scroll';\n\n // Values can be negative in Firefox\n const scrollbarWidth = Math.max(0, win.innerWidth - body.clientWidth);\n const scrollbarHeight = Math.max(0, win.innerHeight - body.clientHeight);\n\n // Avoid shift due to the default <body> margin. This does cause elements to be clipped\n // with whitespace. Warn if <body> has margins?\n const marginY = parseFloat(bodyStyles.marginTop) + parseFloat(bodyStyles.marginBottom);\n const marginX = parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight);\n const elementToLock = isOverflowElement(html) ? html : body;\n updateGutterOnly = supportsStableScrollbarGutter(referenceElement);\n\n /*\n * DOM writes:\n * Do not read the DOM past this point!\n */\n\n if (updateGutterOnly) {\n html.style.scrollbarGutter = scrollbarGutterValue;\n elementToLock.style.overflowY = 'hidden';\n elementToLock.style.overflowX = 'hidden';\n return;\n }\n Object.assign(html.style, {\n scrollbarGutter: scrollbarGutterValue,\n overflowY: 'hidden',\n overflowX: 'hidden'\n });\n if (isScrollableY || hasConstantOverflowY) {\n html.style.overflowY = 'scroll';\n }\n if (isScrollableX || hasConstantOverflowX) {\n html.style.overflowX = 'scroll';\n }\n Object.assign(body.style, {\n position: 'relative',\n height: marginY || scrollbarHeight ? `calc(100dvh - ${marginY + scrollbarHeight}px)` : '100dvh',\n width: marginX || scrollbarWidth ? `calc(100vw - ${marginX + scrollbarWidth}px)` : '100vw',\n boxSizing: 'border-box',\n overflow: 'hidden',\n scrollBehavior: 'unset'\n });\n body.scrollTop = scrollTop;\n body.scrollLeft = scrollLeft;\n html.setAttribute('data-base-ui-scroll-locked', '');\n html.style.scrollBehavior = 'unset';\n }\n function cleanup() {\n Object.assign(html.style, originalHtmlStyles);\n Object.assign(body.style, originalBodyStyles);\n if (!updateGutterOnly) {\n html.scrollTop = scrollTop;\n html.scrollLeft = scrollLeft;\n html.removeAttribute('data-base-ui-scroll-locked');\n html.style.scrollBehavior = originalHtmlScrollBehavior;\n }\n }\n function handleResize() {\n cleanup();\n resizeFrame.request(lockScroll);\n }\n lockScroll();\n const unsubscribeResize = addEventListener(win, 'resize', handleResize);\n return () => {\n resizeFrame.cancel();\n cleanup();\n // Sometimes this cleanup can run after test teardown because it is called\n // in a `setTimeout(fn, 0)`. Guard the returned cleanup to avoid calling\n // `removeEventListener` when it is no longer available in tests.\n if (typeof win.removeEventListener === 'function') {\n unsubscribeResize();\n }\n };\n}\nclass ScrollLocker {\n lockCount = 0;\n restore = null;\n timeoutLock = Timeout.create();\n timeoutUnlock = Timeout.create();\n acquire(referenceElement) {\n this.lockCount += 1;\n if (this.lockCount === 1 && this.restore === null) {\n this.timeoutLock.start(0, () => this.lock(referenceElement));\n }\n return this.release;\n }\n release = () => {\n this.lockCount -= 1;\n if (this.lockCount === 0 && this.restore) {\n this.timeoutUnlock.start(0, this.unlock);\n }\n };\n unlock = () => {\n if (this.lockCount === 0 && this.restore) {\n this.restore?.();\n this.restore = null;\n }\n };\n lock(referenceElement) {\n if (this.lockCount === 0 || this.restore !== null) {\n return;\n }\n const doc = ownerDocument(referenceElement);\n const html = doc.documentElement;\n const htmlOverflowY = ownerWindow(html).getComputedStyle(html).overflowY;\n\n // If the site author already hid overflow on <html>, respect it and bail out.\n if (htmlOverflowY === 'hidden' || htmlOverflowY === 'clip') {\n this.restore = NOOP;\n return;\n }\n const hasOverlayScrollbars = isIOS || !hasInsetScrollbars(referenceElement);\n\n // On iOS, scroll locking does not work if the navbar is collapsed. Due to numerous\n // side effects and bugs that arise on iOS, it must be researched extensively before\n // being enabled to ensure it doesn't cause the following issues:\n // - Textboxes must scroll into view when focused, nor cause a glitchy scroll animation.\n // - The navbar must not force itself into view and cause layout shift.\n // - Scroll containers must not flicker upon closing a popup when it has an exit animation.\n this.restore = hasOverlayScrollbars ? preventScrollOverlayScrollbars(referenceElement) : preventScrollInsetScrollbars(referenceElement);\n }\n}\nconst SCROLL_LOCKER = new ScrollLocker();\n\n/**\n * Locks the scroll of the document when enabled.\n *\n * @param enabled - Whether to enable the scroll lock.\n * @param referenceElement - Element to use as a reference for lock calculations.\n */\nexport function useScrollLock(enabled = true, referenceElement = null) {\n useIsoLayoutEffect(() => {\n if (!enabled) {\n return undefined;\n }\n return SCROLL_LOCKER.acquire(referenceElement);\n }, [enabled, referenceElement]);\n}"],"names":["originalHtmlStyles","originalBodyStyles","originalHtmlScrollBehavior","hasInsetScrollbars","referenceElement","doc","ownerDocument","ownerWindow","supportsStableScrollbarGutter","html","body","scrollContainer","isOverflowElement","originalScrollContainerOverflowY","originalHtmlStyleGutter","before","after","preventScrollOverlayScrollbars","elementToLock","originalElementToLockStyles","preventScrollInsetScrollbars","win","scrollTop","scrollLeft","updateGutterOnly","resizeFrame","AnimationFrame","isWebKit","lockScroll","htmlStyles","bodyStyles","scrollbarGutterValue","isScrollableY","isScrollableX","hasConstantOverflowY","hasConstantOverflowX","scrollbarWidth","scrollbarHeight","marginY","marginX","cleanup","handleResize","unsubscribeResize","addEventListener","ScrollLocker","Timeout","htmlOverflowY","NOOP","hasOverlayScrollbars","isIOS","SCROLL_LOCKER","useScrollLock","enabled","useIsoLayoutEffect"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index347.js","sources":["../../../node_modules/@base-ui/utils/esm/reactVersion.js"],"sourcesContent":["import * as React from 'react';\nconst majorVersion = parseInt(React.version, 10);\nexport function isReactVersionAtLeast(reactVersionToCheck) {\n return majorVersion >= reactVersionToCheck;\n}"],"names":["majorVersion","React","isReactVersionAtLeast","reactVersionToCheck"],"mappings":";AACA,MAAMA,IAAe,SAASC,EAAM,SAAS,EAAE;AACxC,SAASC,EAAsBC,GAAqB;AACzD,SAAOH,KAAgBG;AACzB;","x_google_ignoreList":[0]}
package/dist/index348.js CHANGED
@@ -1,36 +1,126 @@
1
- import { useId as f } from "./index342.js";
2
- import { useRefWithInit as u } from "./index258.js";
3
- import { useIsoLayoutEffect as g } from "./index261.js";
4
- import { isElement as E } from "./index309.js";
5
- import { useFloatingParentNodeId as d } from "./index382.js";
6
- import { FloatingRootStore as S } from "./index384.js";
7
- function C(p) {
8
- const {
9
- popupStore: n,
10
- treatPopupAsFloatingElement: a = !1,
11
- onOpenChange: c
12
- } = p, o = f(), m = d() != null, r = n.useState("open"), t = n.useState("activeTriggerElement"), s = n.useState(a ? "popupElement" : "positionerElement"), l = n.context.triggerElements, e = u(() => new S({
13
- open: r,
14
- transitionStatus: void 0,
15
- referenceElement: t,
16
- floatingElement: s,
17
- triggerElements: l,
18
- onOpenChange: c,
19
- floatingId: o,
20
- syncOnly: !0,
21
- nested: m
22
- })).current;
23
- return g(() => {
24
- const i = {
25
- open: r,
26
- floatingId: o,
27
- referenceElement: t,
28
- floatingElement: s
1
+ import { getWindow as d, isOverflowElement as m } from "./index309.js";
2
+ import { addEventListener as T } from "./index300.js";
3
+ import { isIOS as E, isWebKit as H } from "./index301.js";
4
+ import { ownerDocument as a } from "./index284.js";
5
+ import { useIsoLayoutEffect as z } from "./index261.js";
6
+ import { Timeout as k } from "./index285.js";
7
+ import { AnimationFrame as j } from "./index302.js";
8
+ import { NOOP as F } from "./index264.js";
9
+ let Y = {}, C = {}, O = "";
10
+ function R(s) {
11
+ if (typeof document > "u")
12
+ return !1;
13
+ const e = a(s);
14
+ return d(e).innerWidth - e.documentElement.clientWidth > 0;
15
+ }
16
+ function I(s) {
17
+ if (!(typeof CSS < "u" && CSS.supports && CSS.supports("scrollbar-gutter", "stable")) || typeof document > "u")
18
+ return !1;
19
+ const t = a(s), o = t.documentElement, l = t.body, r = m(o) ? o : l, i = r.style.overflowY, c = o.style.scrollbarGutter;
20
+ o.style.scrollbarGutter = "stable", r.style.overflowY = "scroll";
21
+ const u = r.offsetWidth;
22
+ r.style.overflowY = "hidden";
23
+ const f = r.offsetWidth;
24
+ return r.style.overflowY = i, o.style.scrollbarGutter = c, u === f;
25
+ }
26
+ function V(s) {
27
+ const e = a(s), t = e.documentElement, o = e.body, l = m(t) ? t : o, r = {
28
+ overflowY: l.style.overflowY,
29
+ overflowX: l.style.overflowX
30
+ };
31
+ return Object.assign(l.style, {
32
+ overflowY: "hidden",
33
+ overflowX: "hidden"
34
+ }), () => {
35
+ Object.assign(l.style, r);
36
+ };
37
+ }
38
+ function q(s) {
39
+ const e = a(s), t = e.documentElement, o = e.body, l = d(t);
40
+ let r = 0, i = 0, c = !1;
41
+ const u = j.create();
42
+ if (H && (l.visualViewport?.scale ?? 1) !== 1)
43
+ return () => {
29
44
  };
30
- E(t) && (i.domReferenceElement = t), e.state.positionReference === e.state.referenceElement && (i.positionReference = t), e.update(i);
31
- }, [r, o, t, s, e]), e.context.onOpenChange = c, e.context.nested = m, e;
45
+ function f() {
46
+ const h = l.getComputedStyle(t), n = l.getComputedStyle(o), v = (h.scrollbarGutter || "").includes("both-edges") ? "stable both-edges" : "stable";
47
+ r = t.scrollTop, i = t.scrollLeft, Y = {
48
+ scrollbarGutter: t.style.scrollbarGutter,
49
+ overflowY: t.style.overflowY,
50
+ overflowX: t.style.overflowX
51
+ }, O = t.style.scrollBehavior, C = {
52
+ position: o.style.position,
53
+ height: o.style.height,
54
+ width: o.style.width,
55
+ boxSizing: o.style.boxSizing,
56
+ overflowY: o.style.overflowY,
57
+ overflowX: o.style.overflowX,
58
+ scrollBehavior: o.style.scrollBehavior
59
+ };
60
+ const G = t.scrollHeight > t.clientHeight, B = t.scrollWidth > t.clientWidth, W = h.overflowY === "scroll" || n.overflowY === "scroll", x = h.overflowX === "scroll" || n.overflowX === "scroll", b = Math.max(0, l.innerWidth - o.clientWidth), w = Math.max(0, l.innerHeight - o.clientHeight), p = parseFloat(n.marginTop) + parseFloat(n.marginBottom), g = parseFloat(n.marginLeft) + parseFloat(n.marginRight), S = m(t) ? t : o;
61
+ if (c = I(s), c) {
62
+ t.style.scrollbarGutter = v, S.style.overflowY = "hidden", S.style.overflowX = "hidden";
63
+ return;
64
+ }
65
+ Object.assign(t.style, {
66
+ scrollbarGutter: v,
67
+ overflowY: "hidden",
68
+ overflowX: "hidden"
69
+ }), (G || W) && (t.style.overflowY = "scroll"), (B || x) && (t.style.overflowX = "scroll"), Object.assign(o.style, {
70
+ position: "relative",
71
+ height: p || w ? `calc(100dvh - ${p + w}px)` : "100dvh",
72
+ width: g || b ? `calc(100vw - ${g + b}px)` : "100vw",
73
+ boxSizing: "border-box",
74
+ overflow: "hidden",
75
+ scrollBehavior: "unset"
76
+ }), o.scrollTop = r, o.scrollLeft = i, t.setAttribute("data-base-ui-scroll-locked", ""), t.style.scrollBehavior = "unset";
77
+ }
78
+ function y() {
79
+ Object.assign(t.style, Y), Object.assign(o.style, C), c || (t.scrollTop = r, t.scrollLeft = i, t.removeAttribute("data-base-ui-scroll-locked"), t.style.scrollBehavior = O);
80
+ }
81
+ function L() {
82
+ y(), u.request(f);
83
+ }
84
+ f();
85
+ const X = T(l, "resize", L);
86
+ return () => {
87
+ u.cancel(), y(), typeof l.removeEventListener == "function" && X();
88
+ };
89
+ }
90
+ class A {
91
+ lockCount = 0;
92
+ restore = null;
93
+ timeoutLock = k.create();
94
+ timeoutUnlock = k.create();
95
+ acquire(e) {
96
+ return this.lockCount += 1, this.lockCount === 1 && this.restore === null && this.timeoutLock.start(0, () => this.lock(e)), this.release;
97
+ }
98
+ release = () => {
99
+ this.lockCount -= 1, this.lockCount === 0 && this.restore && this.timeoutUnlock.start(0, this.unlock);
100
+ };
101
+ unlock = () => {
102
+ this.lockCount === 0 && this.restore && (this.restore?.(), this.restore = null);
103
+ };
104
+ lock(e) {
105
+ if (this.lockCount === 0 || this.restore !== null)
106
+ return;
107
+ const o = a(e).documentElement, l = d(o).getComputedStyle(o).overflowY;
108
+ if (l === "hidden" || l === "clip") {
109
+ this.restore = F;
110
+ return;
111
+ }
112
+ const r = E || !R(e);
113
+ this.restore = r ? V(e) : q(e);
114
+ }
115
+ }
116
+ const K = new A();
117
+ function tt(s = !0, e = null) {
118
+ z(() => {
119
+ if (s)
120
+ return K.acquire(e);
121
+ }, [s, e]);
32
122
  }
33
123
  export {
34
- C as useSyncedFloatingRootContext
124
+ tt as useScrollLock
35
125
  };
36
126
  //# sourceMappingURL=index348.js.map