se-design 1.0.94 → 1.0.96

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 (124) hide show
  1. package/dist/assets/icons/zoom-in.svg +3 -0
  2. package/dist/assets/icons/zoom-out.svg +3 -0
  3. package/dist/assets/style.css +1 -1
  4. package/dist/components/DropdownWithInputTags/index.d.ts +12 -0
  5. package/dist/components/Input/index.d.ts +1 -1
  6. package/dist/index12.js +2 -2
  7. package/dist/index13.js +2 -2
  8. package/dist/index16.js +1 -1
  9. package/dist/index19.js +1 -1
  10. package/dist/index210.js +2 -149
  11. package/dist/index210.js.map +1 -1
  12. package/dist/index211.js +2 -9
  13. package/dist/index211.js.map +1 -1
  14. package/dist/index212.js +149 -6
  15. package/dist/index212.js.map +1 -1
  16. package/dist/index213.js +8 -42
  17. package/dist/index213.js.map +1 -1
  18. package/dist/index214.js +5 -20
  19. package/dist/index214.js.map +1 -1
  20. package/dist/index215.js +46 -0
  21. package/dist/index215.js.map +1 -0
  22. package/dist/index216.js +24 -0
  23. package/dist/index216.js.map +1 -0
  24. package/dist/{index221.js → index223.js} +1 -1
  25. package/dist/{index221.js.map → index223.js.map} +1 -1
  26. package/dist/{index222.js → index224.js} +1 -1
  27. package/dist/{index222.js.map → index224.js.map} +1 -1
  28. package/dist/index231.js +4 -11
  29. package/dist/index231.js.map +1 -1
  30. package/dist/index233.js +15 -0
  31. package/dist/index233.js.map +1 -0
  32. package/dist/index24.js +1 -1
  33. package/dist/{index239.js → index241.js} +1 -1
  34. package/dist/{index239.js.map → index241.js.map} +1 -1
  35. package/dist/{index242.js → index244.js} +1 -1
  36. package/dist/{index242.js.map → index244.js.map} +1 -1
  37. package/dist/{index251.js → index253.js} +1 -1
  38. package/dist/{index251.js.map → index253.js.map} +1 -1
  39. package/dist/index254.js +3 -18
  40. package/dist/index254.js.map +1 -1
  41. package/dist/index256.js +18 -9
  42. package/dist/index256.js.map +1 -1
  43. package/dist/index257.js +9 -4
  44. package/dist/index257.js.map +1 -1
  45. package/dist/index258.js +10 -170
  46. package/dist/index258.js.map +1 -1
  47. package/dist/index259.js +5 -11
  48. package/dist/index259.js.map +1 -1
  49. package/dist/index26.js +1 -1
  50. package/dist/index260.js +170 -6
  51. package/dist/index260.js.map +1 -1
  52. package/dist/index261.js +11 -6
  53. package/dist/index261.js.map +1 -1
  54. package/dist/index262.js +5 -37
  55. package/dist/index262.js.map +1 -1
  56. package/dist/index263.js +6 -2
  57. package/dist/index263.js.map +1 -1
  58. package/dist/index264.js +37 -7
  59. package/dist/index264.js.map +1 -1
  60. package/dist/index265.js +2 -327
  61. package/dist/index265.js.map +1 -1
  62. package/dist/index266.js +7 -49
  63. package/dist/index266.js.map +1 -1
  64. package/dist/index267.js +327 -2
  65. package/dist/index267.js.map +1 -1
  66. package/dist/index268.js +45 -71
  67. package/dist/index268.js.map +1 -1
  68. package/dist/index269.js +2 -93
  69. package/dist/index269.js.map +1 -1
  70. package/dist/index270.js +72 -48
  71. package/dist/index270.js.map +1 -1
  72. package/dist/index271.js +92 -7
  73. package/dist/index271.js.map +1 -1
  74. package/dist/index272.js +51 -4
  75. package/dist/index272.js.map +1 -1
  76. package/dist/index273.js +7 -51
  77. package/dist/index273.js.map +1 -1
  78. package/dist/index274.js +5 -2
  79. package/dist/index274.js.map +1 -1
  80. package/dist/index275.js +52 -2
  81. package/dist/index275.js.map +1 -1
  82. package/dist/index276.js +5 -0
  83. package/dist/index276.js.map +1 -0
  84. package/dist/index277.js +5 -0
  85. package/dist/index277.js.map +1 -0
  86. package/dist/index29.js +2 -2
  87. package/dist/index30.js +1 -1
  88. package/dist/index31.js +1 -1
  89. package/dist/index33.js +10 -11
  90. package/dist/index34.js +1 -1
  91. package/dist/index36.js +1 -1
  92. package/dist/index37.js +1 -1
  93. package/dist/index38.js +1 -1
  94. package/dist/index39.js +166 -164
  95. package/dist/index39.js.map +1 -1
  96. package/dist/index40.js +45 -40
  97. package/dist/index40.js.map +1 -1
  98. package/dist/index41.js +1 -1
  99. package/dist/index43.js +7 -8
  100. package/dist/index44.js +2 -3
  101. package/dist/index46.js +1 -1
  102. package/dist/index51.js +2 -2
  103. package/dist/index54.js +1 -1
  104. package/dist/index56.js +1 -1
  105. package/dist/index57.js +1 -1
  106. package/dist/index58.js +1 -1
  107. package/dist/index6.js +67 -63
  108. package/dist/index6.js.map +1 -1
  109. package/dist/index60.js +16 -17
  110. package/dist/index62.js +1 -1
  111. package/dist/index66.js +1 -1
  112. package/dist/index68.js +1 -1
  113. package/dist/index7.js +8 -9
  114. package/dist/index70.js +2 -3
  115. package/dist/index84.js +1 -1
  116. package/dist/index86.js +1 -1
  117. package/dist/index9.js +1 -1
  118. package/package.json +1 -1
  119. package/dist/index229.js +0 -8
  120. package/dist/index229.js.map +0 -1
  121. package/dist/index252.js +0 -7
  122. package/dist/index252.js.map +0 -1
  123. package/dist/index255.js +0 -13
  124. package/dist/index255.js.map +0 -1
package/dist/index19.js CHANGED
@@ -4,7 +4,7 @@ import { getA11yNameAttributes as be } from "./index86.js";
4
4
  import { useDismissOnFocusOut as ye } from "./index85.js";
5
5
  import { getFirstFocusableElement as M, getLastFocusableElement as Ee, getFocusableElements as N, FOCUSABLE_WITH_ROLES_SELECTOR as Pe } from "./index76.js";
6
6
  import "./index77.js";
7
- import { useRegisterPortalWithFocusTrap as ke } from "./index214.js";
7
+ import { useRegisterPortalWithFocusTrap as ke } from "./index216.js";
8
8
  function q() {
9
9
  return q = Object.assign ? Object.assign.bind() : function(y) {
10
10
  for (var E = 1; E < arguments.length; E++) {
package/dist/index210.js CHANGED
@@ -1,152 +1,5 @@
1
- import N from "./index255.js";
2
- import R from "./index256.js";
3
- import D from "./index257.js";
4
- import { SVGInjector as A } from "./index258.js";
5
- import { p as t } from "./index259.js";
6
- import * as h from "react";
7
- var O = function(s) {
8
- var o = s?.ownerDocument || document;
9
- return o.defaultView || window;
10
- }, U = function(s, o) {
11
- for (var r in s)
12
- if (!(r in o))
13
- return !0;
14
- for (var e in o)
15
- if (s[e] !== o[e])
16
- return !0;
17
- return !1;
18
- }, H = ["afterInjection", "beforeInjection", "desc", "evalScripts", "fallback", "httpRequestWithCredentials", "loading", "renumerateIRIElements", "src", "title", "useRequestCache", "wrapper"], v = "http://www.w3.org/2000/svg", q = "http://www.w3.org/1999/xlink", V = /* @__PURE__ */ function(c) {
19
- function s() {
20
- for (var r, e = arguments.length, n = new Array(e), a = 0; a < e; a++)
21
- n[a] = arguments[a];
22
- return r = c.call.apply(c, [this].concat(n)) || this, r.initialState = {
23
- hasError: !1,
24
- isLoading: !0
25
- }, r.state = r.initialState, r._isMounted = !1, r.reactWrapper = void 0, r.nonReactWrapper = void 0, r.refCallback = function(u) {
26
- r.reactWrapper = u;
27
- }, r;
28
- }
29
- D(s, c);
30
- var o = s.prototype;
31
- return o.renderSVG = function() {
32
- var e = this;
33
- if (this.reactWrapper instanceof O(this.reactWrapper).Node) {
34
- var n = this.props, a = n.desc, u = n.evalScripts, S = n.httpRequestWithCredentials, E = n.renumerateIRIElements, G = n.src, b = n.title, g = n.useRequestCache, w = this.props.onError, x = this.props.beforeInjection, y = this.props.afterInjection, f = this.props.wrapper, l, p;
35
- f === "svg" ? (l = document.createElementNS(v, f), l.setAttribute("xmlns", v), l.setAttribute("xmlns:xlink", q), p = document.createElementNS(v, f)) : (l = document.createElement(f), p = document.createElement(f)), l.appendChild(p), p.dataset.src = G, this.nonReactWrapper = this.reactWrapper.appendChild(l);
36
- var I = function(i) {
37
- if (e.removeSVG(), !e._isMounted) {
38
- w(i);
39
- return;
40
- }
41
- e.setState(function() {
42
- return {
43
- hasError: !0,
44
- isLoading: !1
45
- };
46
- }, function() {
47
- w(i);
48
- });
49
- }, L = function(i, d) {
50
- if (i) {
51
- I(i);
52
- return;
53
- }
54
- e._isMounted && e.setState(function() {
55
- return {
56
- isLoading: !1
57
- };
58
- }, function() {
59
- try {
60
- y(d);
61
- } catch (m) {
62
- I(m);
63
- }
64
- });
65
- }, M = function(i) {
66
- if (i.setAttribute("role", "img"), a) {
67
- var d = i.querySelector(":scope > desc");
68
- d && i.removeChild(d);
69
- var m = document.createElement("desc");
70
- m.innerHTML = a, i.prepend(m);
71
- }
72
- if (b) {
73
- var j = i.querySelector(":scope > title");
74
- j && i.removeChild(j);
75
- var C = document.createElement("title");
76
- C.innerHTML = b, i.prepend(C);
77
- }
78
- try {
79
- x(i);
80
- } catch (k) {
81
- I(k);
82
- }
83
- };
84
- A(p, {
85
- afterEach: L,
86
- beforeEach: M,
87
- cacheRequests: g,
88
- evalScripts: u,
89
- httpRequestWithCredentials: S,
90
- renumerateIRIElements: E
91
- });
92
- }
93
- }, o.removeSVG = function() {
94
- var e;
95
- (e = this.nonReactWrapper) != null && e.parentNode && (this.nonReactWrapper.parentNode.removeChild(this.nonReactWrapper), this.nonReactWrapper = null);
96
- }, o.componentDidMount = function() {
97
- this._isMounted = !0, this.renderSVG();
98
- }, o.componentDidUpdate = function(e) {
99
- var n = this;
100
- U(R({}, e), this.props) && this.setState(function() {
101
- return n.initialState;
102
- }, function() {
103
- n.removeSVG(), n.renderSVG();
104
- });
105
- }, o.componentWillUnmount = function() {
106
- this._isMounted = !1, this.removeSVG();
107
- }, o.render = function() {
108
- var e = this.props, n = e.fallback, a = e.loading, u = e.wrapper, S = N(e, H), E = u;
109
- return /* @__PURE__ */ h.createElement(E, R({}, S, {
110
- ref: this.refCallback
111
- }, u === "svg" ? {
112
- xmlns: v,
113
- xmlnsXlink: q
114
- } : {}), this.state.isLoading && a && /* @__PURE__ */ h.createElement(a, null), this.state.hasError && n && /* @__PURE__ */ h.createElement(n, null));
115
- }, s;
116
- }(h.Component);
117
- V.defaultProps = {
118
- afterInjection: function() {
119
- },
120
- beforeInjection: function() {
121
- },
122
- desc: "",
123
- evalScripts: "never",
124
- fallback: null,
125
- httpRequestWithCredentials: !1,
126
- loading: null,
127
- onError: function() {
128
- },
129
- renumerateIRIElements: !0,
130
- title: "",
131
- useRequestCache: !0,
132
- wrapper: "div"
133
- };
134
- V.propTypes = {
135
- afterInjection: t.func,
136
- beforeInjection: t.func,
137
- desc: t.string,
138
- evalScripts: t.oneOf(["always", "once", "never"]),
139
- fallback: t.oneOfType([t.func, t.object, t.string]),
140
- httpRequestWithCredentials: t.bool,
141
- loading: t.oneOfType([t.func, t.object, t.string]),
142
- onError: t.func,
143
- renumerateIRIElements: t.bool,
144
- src: t.string.isRequired,
145
- title: t.string,
146
- useRequestCache: t.bool,
147
- wrapper: t.oneOf(["div", "span", "svg"])
148
- };
1
+ const C = "data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.48073%209.86533C7.26824%209.86533%207.09013%209.79342%206.94638%209.64962C6.80263%209.50581%206.73075%209.32761%206.73075%209.11503C6.73075%208.90243%206.80263%208.72433%206.94638%208.58075C7.09013%208.43717%207.26824%208.36538%207.48073%208.36538H10.75C10.9625%208.36538%2011.1406%208.43728%2011.2844%208.58108C11.4281%208.72489%2011.5%208.90309%2011.5%209.11568C11.5%209.32828%2011.4281%209.50637%2011.2844%209.64995C11.1406%209.79353%2010.9625%209.86533%2010.75%209.86533H7.48073ZM9.11535%2015.2307C7.40618%2015.2307%205.95967%2014.6389%204.7758%2013.4554C3.59193%2012.2718%203%2010.8256%203%209.11693C3%207.40819%203.59178%205.96152%204.77535%204.7769C5.95892%203.5923%207.40507%203%209.1138%203C10.8225%203%2012.2692%203.59193%2013.4538%204.7758C14.6384%205.95967%2015.2307%207.40618%2015.2307%209.11535C15.2307%209.82945%2015.1109%2010.5115%2014.8711%2011.1615C14.6314%2011.8115%2014.3115%2012.3769%2013.9115%2012.8576L19.6653%2018.6115C19.8038%2018.75%2019.8746%2018.924%2019.8778%2019.1336C19.881%2019.3432%2019.8102%2019.5205%2019.6653%2019.6653C19.5205%2019.8102%2019.3448%2019.8826%2019.1384%2019.8826C18.932%2019.8826%2018.7564%2019.8102%2018.6115%2019.6653L12.8576%2013.9115C12.3576%2014.3243%2011.7826%2014.6474%2011.1327%2014.8807C10.4827%2015.114%209.81022%2015.2307%209.11535%2015.2307ZM9.11535%2013.7308C10.4038%2013.7308%2011.4952%2013.2836%2012.3894%2012.3894C13.2836%2011.4952%2013.7308%2010.4038%2013.7308%209.11535C13.7308%207.82688%2013.2836%206.73553%2012.3894%205.8413C11.4952%204.94707%2010.4038%204.49995%209.11535%204.49995C7.82688%204.49995%206.73553%204.94707%205.8413%205.8413C4.94708%206.73553%204.49998%207.82688%204.49998%209.11535C4.49998%2010.4038%204.94708%2011.4952%205.8413%2012.3894C6.73553%2013.2836%207.82688%2013.7308%209.11535%2013.7308Z'%20fill='%23141414'/%3e%3c/svg%3e";
149
2
  export {
150
- V as ReactSVG
3
+ C as default
151
4
  };
152
5
  //# sourceMappingURL=index210.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index210.js","sources":["../node_modules/react-svg/dist/react-svg.esm.js"],"sourcesContent":["import _objectWithoutPropertiesLoose from '@babel/runtime/helpers/objectWithoutPropertiesLoose';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _inheritsLoose from '@babel/runtime/helpers/inheritsLoose';\nimport { SVGInjector } from '@tanem/svg-injector';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\n\n// Hat-tip: https://github.com/mui/material-ui/tree/master/packages/mui-utils/src.\nvar ownerWindow = function ownerWindow(node) {\n var doc = (node == null ? undefined : node.ownerDocument) || document;\n return doc.defaultView || window;\n};\n\n// Hat-tip: https://github.com/developit/preact-compat/blob/master/src/index.js#L402.\nvar shallowDiffers = function shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) {\n return true;\n }\n }\n for (var _i in b) {\n if (a[_i] !== b[_i]) {\n return true;\n }\n }\n return false;\n};\n\nvar _excluded = [\"afterInjection\", \"beforeInjection\", \"desc\", \"evalScripts\", \"fallback\", \"httpRequestWithCredentials\", \"loading\", \"renumerateIRIElements\", \"src\", \"title\", \"useRequestCache\", \"wrapper\"];\nvar svgNamespace = 'http://www.w3.org/2000/svg';\nvar xlinkNamespace = 'http://www.w3.org/1999/xlink';\nvar ReactSVG = /*#__PURE__*/function (_React$Component) {\n function ReactSVG() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.initialState = {\n hasError: false,\n isLoading: true\n };\n _this.state = _this.initialState;\n _this._isMounted = false;\n _this.reactWrapper = undefined;\n _this.nonReactWrapper = undefined;\n _this.refCallback = function (reactWrapper) {\n _this.reactWrapper = reactWrapper;\n };\n return _this;\n }\n _inheritsLoose(ReactSVG, _React$Component);\n var _proto = ReactSVG.prototype;\n _proto.renderSVG = function renderSVG() {\n var _this2 = this;\n /* istanbul ignore else */\n if (this.reactWrapper instanceof ownerWindow(this.reactWrapper).Node) {\n var _this$props = this.props,\n desc = _this$props.desc,\n evalScripts = _this$props.evalScripts,\n httpRequestWithCredentials = _this$props.httpRequestWithCredentials,\n renumerateIRIElements = _this$props.renumerateIRIElements,\n src = _this$props.src,\n title = _this$props.title,\n useRequestCache = _this$props.useRequestCache;\n /* eslint-disable @typescript-eslint/no-non-null-assertion */\n var onError = this.props.onError;\n var beforeInjection = this.props.beforeInjection;\n var afterInjection = this.props.afterInjection;\n var wrapper = this.props.wrapper;\n var nonReactWrapper;\n var nonReactTarget;\n if (wrapper === 'svg') {\n nonReactWrapper = document.createElementNS(svgNamespace, wrapper);\n nonReactWrapper.setAttribute('xmlns', svgNamespace);\n nonReactWrapper.setAttribute('xmlns:xlink', xlinkNamespace);\n nonReactTarget = document.createElementNS(svgNamespace, wrapper);\n } else {\n nonReactWrapper = document.createElement(wrapper);\n nonReactTarget = document.createElement(wrapper);\n }\n nonReactWrapper.appendChild(nonReactTarget);\n nonReactTarget.dataset.src = src;\n this.nonReactWrapper = this.reactWrapper.appendChild(nonReactWrapper);\n var handleError = function handleError(error) {\n _this2.removeSVG();\n if (!_this2._isMounted) {\n onError(error);\n return;\n }\n _this2.setState(function () {\n return {\n hasError: true,\n isLoading: false\n };\n }, function () {\n onError(error);\n });\n };\n var afterEach = function afterEach(error, svg) {\n if (error) {\n handleError(error);\n return;\n }\n // TODO (Tane): It'd be better to cleanly unsubscribe from SVGInjector\n // callbacks instead of tracking a property like this.\n if (_this2._isMounted) {\n _this2.setState(function () {\n return {\n isLoading: false\n };\n }, function () {\n try {\n afterInjection(svg);\n } catch (afterInjectionError) {\n handleError(afterInjectionError);\n }\n });\n }\n };\n var beforeEach = function beforeEach(svg) {\n svg.setAttribute('role', 'img');\n if (desc) {\n var originalDesc = svg.querySelector(':scope > desc');\n if (originalDesc) {\n svg.removeChild(originalDesc);\n }\n var newDesc = document.createElement('desc');\n newDesc.innerHTML = desc;\n svg.prepend(newDesc);\n }\n if (title) {\n var originalTitle = svg.querySelector(':scope > title');\n if (originalTitle) {\n svg.removeChild(originalTitle);\n }\n var newTitle = document.createElement('title');\n newTitle.innerHTML = title;\n svg.prepend(newTitle);\n }\n try {\n beforeInjection(svg);\n } catch (error) {\n handleError(error);\n }\n };\n SVGInjector(nonReactTarget, {\n afterEach: afterEach,\n beforeEach: beforeEach,\n cacheRequests: useRequestCache,\n evalScripts: evalScripts,\n httpRequestWithCredentials: httpRequestWithCredentials,\n renumerateIRIElements: renumerateIRIElements\n });\n }\n };\n _proto.removeSVG = function removeSVG() {\n var _this$nonReactWrapper;\n if ((_this$nonReactWrapper = this.nonReactWrapper) != null && _this$nonReactWrapper.parentNode) {\n this.nonReactWrapper.parentNode.removeChild(this.nonReactWrapper);\n this.nonReactWrapper = null;\n }\n };\n _proto.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n this.renderSVG();\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this3 = this;\n if (shallowDiffers(_extends({}, prevProps), this.props)) {\n this.setState(function () {\n return _this3.initialState;\n }, function () {\n _this3.removeSVG();\n _this3.renderSVG();\n });\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this._isMounted = false;\n this.removeSVG();\n };\n _proto.render = function render() {\n /* eslint-disable @typescript-eslint/no-unused-vars */\n var _this$props2 = this.props;\n _this$props2.afterInjection;\n _this$props2.beforeInjection;\n _this$props2.desc;\n _this$props2.evalScripts;\n var Fallback = _this$props2.fallback;\n _this$props2.httpRequestWithCredentials;\n var Loading = _this$props2.loading;\n _this$props2.renumerateIRIElements;\n _this$props2.src;\n _this$props2.title;\n _this$props2.useRequestCache;\n var wrapper = _this$props2.wrapper,\n rest = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n /* eslint-enable @typescript-eslint/no-unused-vars */\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var Wrapper = wrapper;\n return /*#__PURE__*/React.createElement(Wrapper, _extends({}, rest, {\n ref: this.refCallback\n }, wrapper === 'svg' ? {\n xmlns: svgNamespace,\n xmlnsXlink: xlinkNamespace\n } : {}), this.state.isLoading && Loading && /*#__PURE__*/React.createElement(Loading, null), this.state.hasError && Fallback && /*#__PURE__*/React.createElement(Fallback, null));\n };\n return ReactSVG;\n}(React.Component);\nReactSVG.defaultProps = {\n afterInjection: function afterInjection() {\n return undefined;\n },\n beforeInjection: function beforeInjection() {\n return undefined;\n },\n desc: '',\n evalScripts: 'never',\n fallback: null,\n httpRequestWithCredentials: false,\n loading: null,\n onError: function onError() {\n return undefined;\n },\n renumerateIRIElements: true,\n title: '',\n useRequestCache: true,\n wrapper: 'div'\n};\nReactSVG.propTypes = {\n afterInjection: PropTypes.func,\n beforeInjection: PropTypes.func,\n desc: PropTypes.string,\n evalScripts: PropTypes.oneOf(['always', 'once', 'never']),\n fallback: PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.string]),\n httpRequestWithCredentials: PropTypes.bool,\n loading: PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.string]),\n onError: PropTypes.func,\n renumerateIRIElements: PropTypes.bool,\n src: PropTypes.string.isRequired,\n title: PropTypes.string,\n useRequestCache: PropTypes.bool,\n wrapper: PropTypes.oneOf(['div', 'span', 'svg'])\n} ;\n\nexport { ReactSVG };\n//# sourceMappingURL=react-svg.esm.js.map\n"],"names":["_objectWithoutPropertiesLoose","_extends","_inheritsLoose","SVGInjector","propTypesExports","React","ownerWindow","node","doc","shallowDiffers","a","b","i","_i","_excluded","svgNamespace","xlinkNamespace","ReactSVG","_React$Component","_this","_len","args","_key","reactWrapper","_proto","_this2","_this$props","desc","evalScripts","httpRequestWithCredentials","renumerateIRIElements","src","title","useRequestCache","onError","beforeInjection","afterInjection","wrapper","nonReactWrapper","nonReactTarget","handleError","error","afterEach","svg","afterInjectionError","beforeEach","originalDesc","newDesc","originalTitle","newTitle","_this$nonReactWrapper","prevProps","_this3","_this$props2","Fallback","Loading","rest","Wrapper","PropTypes.func","PropTypes.string","PropTypes.oneOf","PropTypes.oneOfType","PropTypes.object","PropTypes.bool"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"index210.js","sources":["../src/assets/icons/zoom-in.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M7.48073%209.86533C7.26824%209.86533%207.09013%209.79342%206.94638%209.64962C6.80263%209.50581%206.73075%209.32761%206.73075%209.11503C6.73075%208.90243%206.80263%208.72433%206.94638%208.58075C7.09013%208.43717%207.26824%208.36538%207.48073%208.36538H10.75C10.9625%208.36538%2011.1406%208.43728%2011.2844%208.58108C11.4281%208.72489%2011.5%208.90309%2011.5%209.11568C11.5%209.32828%2011.4281%209.50637%2011.2844%209.64995C11.1406%209.79353%2010.9625%209.86533%2010.75%209.86533H7.48073ZM9.11535%2015.2307C7.40618%2015.2307%205.95967%2014.6389%204.7758%2013.4554C3.59193%2012.2718%203%2010.8256%203%209.11693C3%207.40819%203.59178%205.96152%204.77535%204.7769C5.95892%203.5923%207.40507%203%209.1138%203C10.8225%203%2012.2692%203.59193%2013.4538%204.7758C14.6384%205.95967%2015.2307%207.40618%2015.2307%209.11535C15.2307%209.82945%2015.1109%2010.5115%2014.8711%2011.1615C14.6314%2011.8115%2014.3115%2012.3769%2013.9115%2012.8576L19.6653%2018.6115C19.8038%2018.75%2019.8746%2018.924%2019.8778%2019.1336C19.881%2019.3432%2019.8102%2019.5205%2019.6653%2019.6653C19.5205%2019.8102%2019.3448%2019.8826%2019.1384%2019.8826C18.932%2019.8826%2018.7564%2019.8102%2018.6115%2019.6653L12.8576%2013.9115C12.3576%2014.3243%2011.7826%2014.6474%2011.1327%2014.8807C10.4827%2015.114%209.81022%2015.2307%209.11535%2015.2307ZM9.11535%2013.7308C10.4038%2013.7308%2011.4952%2013.2836%2012.3894%2012.3894C13.2836%2011.4952%2013.7308%2010.4038%2013.7308%209.11535C13.7308%207.82688%2013.2836%206.73553%2012.3894%205.8413C11.4952%204.94707%2010.4038%204.49995%209.11535%204.49995C7.82688%204.49995%206.73553%204.94707%205.8413%205.8413C4.94708%206.73553%204.49998%207.82688%204.49998%209.11535C4.49998%2010.4038%204.94708%2011.4952%205.8413%2012.3894C6.73553%2013.2836%207.82688%2013.7308%209.11535%2013.7308Z'%20fill='%23141414'/%3e%3c/svg%3e\""],"names":["__vite_glob_0_122"],"mappings":"AAAA,MAAAA,IAAe;"}
package/dist/index211.js CHANGED
@@ -1,12 +1,5 @@
1
- function n(i) {
2
- if (!i) return !1;
3
- const t = window.getComputedStyle(i);
4
- if (t.display === "none" || t.visibility === "hidden")
5
- return !1;
6
- const e = i.getBoundingClientRect();
7
- return e.width > 0 && e.height > 0;
8
- }
1
+ const C = "data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.36538%209.86533H7.17305C6.96055%209.86533%206.78243%209.79342%206.6387%209.64962C6.49495%209.50581%206.42308%209.32761%206.42308%209.11503C6.42308%208.90243%206.49495%208.72433%206.6387%208.58075C6.78243%208.43717%206.96055%208.36538%207.17305%208.36538H8.36538V7.17305C8.36538%206.96055%208.43728%206.78242%208.5811%206.63867C8.7249%206.49494%208.9031%206.42308%209.1157%206.42308C9.32828%206.42308%209.50637%206.49494%209.64995%206.63867C9.79355%206.78242%209.86535%206.96055%209.86535%207.17305V8.36538H11.0577C11.2702%208.36538%2011.4483%208.43728%2011.592%208.58108C11.7358%208.72489%2011.8077%208.90309%2011.8077%209.11568C11.8077%209.32828%2011.7358%209.50637%2011.592%209.64995C11.4483%209.79353%2011.2702%209.86533%2011.0577%209.86533H9.86535V11.0577C9.86535%2011.2702%209.79344%2011.4483%209.64963%2011.592C9.50581%2011.7358%209.32761%2011.8076%209.11503%2011.8076C8.90243%2011.8076%208.72433%2011.7358%208.58075%2011.592C8.43717%2011.4483%208.36538%2011.2702%208.36538%2011.0577V9.86533ZM9.11535%2015.2307C7.40618%2015.2307%205.95967%2014.6389%204.7758%2013.4554C3.59193%2012.2718%203%2010.8256%203%209.11693C3%207.40819%203.59178%205.96152%204.77535%204.7769C5.95892%203.5923%207.40507%203%209.1138%203C10.8225%203%2012.2692%203.59193%2013.4538%204.7758C14.6384%205.95967%2015.2307%207.40618%2015.2307%209.11535C15.2307%209.82945%2015.1109%2010.5115%2014.8711%2011.1615C14.6314%2011.8115%2014.3115%2012.3769%2013.9115%2012.8576L19.6653%2018.6115C19.8038%2018.75%2019.8746%2018.924%2019.8778%2019.1336C19.881%2019.3432%2019.8102%2019.5205%2019.6653%2019.6653C19.5205%2019.8102%2019.3448%2019.8826%2019.1384%2019.8826C18.932%2019.8826%2018.7564%2019.8102%2018.6115%2019.6653L12.8576%2013.9115C12.3576%2014.3243%2011.7826%2014.6474%2011.1327%2014.8807C10.4827%2015.114%209.81022%2015.2307%209.11535%2015.2307ZM9.11535%2013.7308C10.4038%2013.7308%2011.4952%2013.2836%2012.3894%2012.3894C13.2836%2011.4952%2013.7308%2010.4038%2013.7308%209.11535C13.7308%207.82688%2013.2836%206.73553%2012.3894%205.8413C11.4952%204.94707%2010.4038%204.49995%209.11535%204.49995C7.82688%204.49995%206.73553%204.94707%205.8413%205.8413C4.94708%206.73553%204.49998%207.82688%204.49998%209.11535C4.49998%2010.4038%204.94708%2011.4952%205.8413%2012.3894C6.73553%2013.2836%207.82688%2013.7308%209.11535%2013.7308Z'%20fill='%23141414'/%3e%3c/svg%3e";
9
2
  export {
10
- n as isElementVisible
3
+ C as default
11
4
  };
12
5
  //# sourceMappingURL=index211.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index211.js","sources":["../src/utils/a11y/elementVisibility.ts"],"sourcesContent":["/**\n * Checks if an element is visible in the DOM.\n * \n * An element is considered visible if:\n * - It exists in the DOM\n * - It's not hidden via CSS (display: none, visibility: hidden)\n * - It has actual dimensions (width > 0 and height > 0)\n * \n * @param element - The element to check, or null\n * @returns true if the element is visible, false otherwise\n * \n * @example\n * const element = document.getElementById('my-element');\n * if (isElementVisible(element)) {\n * // Element is visible\n * }\n */\nexport function isElementVisible(element: HTMLElement | null): boolean {\n if (!element) return false;\n\n // Check computed style for display/visibility\n const style = window.getComputedStyle(element);\n if (style.display === 'none' || style.visibility === 'hidden') {\n return false;\n }\n\n // Check if element has dimensions\n const rect = element.getBoundingClientRect();\n return rect.width > 0 && rect.height > 0;\n}\n"],"names":["isElementVisible","element","style","window","getComputedStyle","display","visibility","rect","getBoundingClientRect","width","height"],"mappings":"AAiBO,SAASA,EAAiBC,GAAsC;AACrE,MAAI,CAACA,EAAS,QAAO;AAGrB,QAAMC,IAAQC,OAAOC,iBAAiBH,CAAO;AAC7C,MAAIC,EAAMG,YAAY,UAAUH,EAAMI,eAAe;AACnD,WAAO;AAIT,QAAMC,IAAON,EAAQO,sBAAAA;AACrB,SAAOD,EAAKE,QAAQ,KAAKF,EAAKG,SAAS;AACzC;"}
1
+ {"version":3,"file":"index211.js","sources":["../src/assets/icons/zoom-out.svg?url"],"sourcesContent":["export default \"data:image/svg+xml,%3csvg%20width='22'%20height='22'%20viewBox='0%200%2022%2022'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.36538%209.86533H7.17305C6.96055%209.86533%206.78243%209.79342%206.6387%209.64962C6.49495%209.50581%206.42308%209.32761%206.42308%209.11503C6.42308%208.90243%206.49495%208.72433%206.6387%208.58075C6.78243%208.43717%206.96055%208.36538%207.17305%208.36538H8.36538V7.17305C8.36538%206.96055%208.43728%206.78242%208.5811%206.63867C8.7249%206.49494%208.9031%206.42308%209.1157%206.42308C9.32828%206.42308%209.50637%206.49494%209.64995%206.63867C9.79355%206.78242%209.86535%206.96055%209.86535%207.17305V8.36538H11.0577C11.2702%208.36538%2011.4483%208.43728%2011.592%208.58108C11.7358%208.72489%2011.8077%208.90309%2011.8077%209.11568C11.8077%209.32828%2011.7358%209.50637%2011.592%209.64995C11.4483%209.79353%2011.2702%209.86533%2011.0577%209.86533H9.86535V11.0577C9.86535%2011.2702%209.79344%2011.4483%209.64963%2011.592C9.50581%2011.7358%209.32761%2011.8076%209.11503%2011.8076C8.90243%2011.8076%208.72433%2011.7358%208.58075%2011.592C8.43717%2011.4483%208.36538%2011.2702%208.36538%2011.0577V9.86533ZM9.11535%2015.2307C7.40618%2015.2307%205.95967%2014.6389%204.7758%2013.4554C3.59193%2012.2718%203%2010.8256%203%209.11693C3%207.40819%203.59178%205.96152%204.77535%204.7769C5.95892%203.5923%207.40507%203%209.1138%203C10.8225%203%2012.2692%203.59193%2013.4538%204.7758C14.6384%205.95967%2015.2307%207.40618%2015.2307%209.11535C15.2307%209.82945%2015.1109%2010.5115%2014.8711%2011.1615C14.6314%2011.8115%2014.3115%2012.3769%2013.9115%2012.8576L19.6653%2018.6115C19.8038%2018.75%2019.8746%2018.924%2019.8778%2019.1336C19.881%2019.3432%2019.8102%2019.5205%2019.6653%2019.6653C19.5205%2019.8102%2019.3448%2019.8826%2019.1384%2019.8826C18.932%2019.8826%2018.7564%2019.8102%2018.6115%2019.6653L12.8576%2013.9115C12.3576%2014.3243%2011.7826%2014.6474%2011.1327%2014.8807C10.4827%2015.114%209.81022%2015.2307%209.11535%2015.2307ZM9.11535%2013.7308C10.4038%2013.7308%2011.4952%2013.2836%2012.3894%2012.3894C13.2836%2011.4952%2013.7308%2010.4038%2013.7308%209.11535C13.7308%207.82688%2013.2836%206.73553%2012.3894%205.8413C11.4952%204.94707%2010.4038%204.49995%209.11535%204.49995C7.82688%204.49995%206.73553%204.94707%205.8413%205.8413C4.94708%206.73553%204.49998%207.82688%204.49998%209.11535C4.49998%2010.4038%204.94708%2011.4952%205.8413%2012.3894C6.73553%2013.2836%207.82688%2013.7308%209.11535%2013.7308Z'%20fill='%23141414'/%3e%3c/svg%3e\""],"names":["__vite_glob_0_123"],"mappings":"AAAA,MAAAA,IAAe;"}
package/dist/index212.js CHANGED
@@ -1,9 +1,152 @@
1
- import { useRef as n } from "react";
2
- function u(e, t = "se-id") {
3
- const r = n("");
4
- return r.current || (r.current = `${t}-${crypto.randomUUID()}`), e || r.current;
5
- }
1
+ import N from "./index257.js";
2
+ import R from "./index258.js";
3
+ import D from "./index259.js";
4
+ import { SVGInjector as A } from "./index260.js";
5
+ import { p as t } from "./index261.js";
6
+ import * as h from "react";
7
+ var O = function(s) {
8
+ var o = s?.ownerDocument || document;
9
+ return o.defaultView || window;
10
+ }, U = function(s, o) {
11
+ for (var r in s)
12
+ if (!(r in o))
13
+ return !0;
14
+ for (var e in o)
15
+ if (s[e] !== o[e])
16
+ return !0;
17
+ return !1;
18
+ }, H = ["afterInjection", "beforeInjection", "desc", "evalScripts", "fallback", "httpRequestWithCredentials", "loading", "renumerateIRIElements", "src", "title", "useRequestCache", "wrapper"], v = "http://www.w3.org/2000/svg", q = "http://www.w3.org/1999/xlink", V = /* @__PURE__ */ function(c) {
19
+ function s() {
20
+ for (var r, e = arguments.length, n = new Array(e), a = 0; a < e; a++)
21
+ n[a] = arguments[a];
22
+ return r = c.call.apply(c, [this].concat(n)) || this, r.initialState = {
23
+ hasError: !1,
24
+ isLoading: !0
25
+ }, r.state = r.initialState, r._isMounted = !1, r.reactWrapper = void 0, r.nonReactWrapper = void 0, r.refCallback = function(u) {
26
+ r.reactWrapper = u;
27
+ }, r;
28
+ }
29
+ D(s, c);
30
+ var o = s.prototype;
31
+ return o.renderSVG = function() {
32
+ var e = this;
33
+ if (this.reactWrapper instanceof O(this.reactWrapper).Node) {
34
+ var n = this.props, a = n.desc, u = n.evalScripts, S = n.httpRequestWithCredentials, E = n.renumerateIRIElements, G = n.src, b = n.title, g = n.useRequestCache, w = this.props.onError, x = this.props.beforeInjection, y = this.props.afterInjection, f = this.props.wrapper, l, p;
35
+ f === "svg" ? (l = document.createElementNS(v, f), l.setAttribute("xmlns", v), l.setAttribute("xmlns:xlink", q), p = document.createElementNS(v, f)) : (l = document.createElement(f), p = document.createElement(f)), l.appendChild(p), p.dataset.src = G, this.nonReactWrapper = this.reactWrapper.appendChild(l);
36
+ var I = function(i) {
37
+ if (e.removeSVG(), !e._isMounted) {
38
+ w(i);
39
+ return;
40
+ }
41
+ e.setState(function() {
42
+ return {
43
+ hasError: !0,
44
+ isLoading: !1
45
+ };
46
+ }, function() {
47
+ w(i);
48
+ });
49
+ }, L = function(i, d) {
50
+ if (i) {
51
+ I(i);
52
+ return;
53
+ }
54
+ e._isMounted && e.setState(function() {
55
+ return {
56
+ isLoading: !1
57
+ };
58
+ }, function() {
59
+ try {
60
+ y(d);
61
+ } catch (m) {
62
+ I(m);
63
+ }
64
+ });
65
+ }, M = function(i) {
66
+ if (i.setAttribute("role", "img"), a) {
67
+ var d = i.querySelector(":scope > desc");
68
+ d && i.removeChild(d);
69
+ var m = document.createElement("desc");
70
+ m.innerHTML = a, i.prepend(m);
71
+ }
72
+ if (b) {
73
+ var j = i.querySelector(":scope > title");
74
+ j && i.removeChild(j);
75
+ var C = document.createElement("title");
76
+ C.innerHTML = b, i.prepend(C);
77
+ }
78
+ try {
79
+ x(i);
80
+ } catch (k) {
81
+ I(k);
82
+ }
83
+ };
84
+ A(p, {
85
+ afterEach: L,
86
+ beforeEach: M,
87
+ cacheRequests: g,
88
+ evalScripts: u,
89
+ httpRequestWithCredentials: S,
90
+ renumerateIRIElements: E
91
+ });
92
+ }
93
+ }, o.removeSVG = function() {
94
+ var e;
95
+ (e = this.nonReactWrapper) != null && e.parentNode && (this.nonReactWrapper.parentNode.removeChild(this.nonReactWrapper), this.nonReactWrapper = null);
96
+ }, o.componentDidMount = function() {
97
+ this._isMounted = !0, this.renderSVG();
98
+ }, o.componentDidUpdate = function(e) {
99
+ var n = this;
100
+ U(R({}, e), this.props) && this.setState(function() {
101
+ return n.initialState;
102
+ }, function() {
103
+ n.removeSVG(), n.renderSVG();
104
+ });
105
+ }, o.componentWillUnmount = function() {
106
+ this._isMounted = !1, this.removeSVG();
107
+ }, o.render = function() {
108
+ var e = this.props, n = e.fallback, a = e.loading, u = e.wrapper, S = N(e, H), E = u;
109
+ return /* @__PURE__ */ h.createElement(E, R({}, S, {
110
+ ref: this.refCallback
111
+ }, u === "svg" ? {
112
+ xmlns: v,
113
+ xmlnsXlink: q
114
+ } : {}), this.state.isLoading && a && /* @__PURE__ */ h.createElement(a, null), this.state.hasError && n && /* @__PURE__ */ h.createElement(n, null));
115
+ }, s;
116
+ }(h.Component);
117
+ V.defaultProps = {
118
+ afterInjection: function() {
119
+ },
120
+ beforeInjection: function() {
121
+ },
122
+ desc: "",
123
+ evalScripts: "never",
124
+ fallback: null,
125
+ httpRequestWithCredentials: !1,
126
+ loading: null,
127
+ onError: function() {
128
+ },
129
+ renumerateIRIElements: !0,
130
+ title: "",
131
+ useRequestCache: !0,
132
+ wrapper: "div"
133
+ };
134
+ V.propTypes = {
135
+ afterInjection: t.func,
136
+ beforeInjection: t.func,
137
+ desc: t.string,
138
+ evalScripts: t.oneOf(["always", "once", "never"]),
139
+ fallback: t.oneOfType([t.func, t.object, t.string]),
140
+ httpRequestWithCredentials: t.bool,
141
+ loading: t.oneOfType([t.func, t.object, t.string]),
142
+ onError: t.func,
143
+ renumerateIRIElements: t.bool,
144
+ src: t.string.isRequired,
145
+ title: t.string,
146
+ useRequestCache: t.bool,
147
+ wrapper: t.oneOf(["div", "span", "svg"])
148
+ };
6
149
  export {
7
- u as useStableId
150
+ V as ReactSVG
8
151
  };
9
152
  //# sourceMappingURL=index212.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index212.js","sources":["../src/utils/useStableId.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/**\n * Generates a stable unique ID for component instances (React 16 compatible).\n * Returns the provided id if given, otherwise generates a stable per-mount id.\n * \n * @param id - Optional explicit id\n * @param prefix - Prefix for auto-generated ids (default: 'se-id')\n * @returns Stable id string\n */\nexport function useStableId(id?: string, prefix: string = 'se-id'): string {\n const autoIdRef = useRef<string>('');\n \n if (!autoIdRef.current) {\n autoIdRef.current = `${prefix}-${crypto.randomUUID()}`;\n }\n \n return id || autoIdRef.current;\n}\n\n\n\n\n\n\n\n"],"names":["useRef","useStableId","id","prefix","autoIdRef","current","crypto","randomUUID"],"mappings":"AAUO,SAAA,UAAAA,SAAA;AAAA,SAASC,EAAYC,GAAaC,IAAiB,SAAiB;AACzE,QAAMC,IAAYJ,EAAe,EAAE;AAEnC,SAAKI,EAAUC,YACbD,EAAUC,UAAU,GAAGF,CAAM,IAAIG,OAAOC,YAAY,KAG/CL,KAAME,EAAUC;AACzB;"}
1
+ {"version":3,"file":"index212.js","sources":["../node_modules/react-svg/dist/react-svg.esm.js"],"sourcesContent":["import _objectWithoutPropertiesLoose from '@babel/runtime/helpers/objectWithoutPropertiesLoose';\nimport _extends from '@babel/runtime/helpers/extends';\nimport _inheritsLoose from '@babel/runtime/helpers/inheritsLoose';\nimport { SVGInjector } from '@tanem/svg-injector';\nimport * as PropTypes from 'prop-types';\nimport * as React from 'react';\n\n// Hat-tip: https://github.com/mui/material-ui/tree/master/packages/mui-utils/src.\nvar ownerWindow = function ownerWindow(node) {\n var doc = (node == null ? void 0 : node.ownerDocument) || document;\n return doc.defaultView || window;\n};\n\n// Hat-tip: https://github.com/developit/preact-compat/blob/master/src/index.js#L402.\nvar shallowDiffers = function shallowDiffers(a, b) {\n for (var i in a) {\n if (!(i in b)) {\n return true;\n }\n }\n for (var _i in b) {\n if (a[_i] !== b[_i]) {\n return true;\n }\n }\n return false;\n};\n\nvar _excluded = [\"afterInjection\", \"beforeInjection\", \"desc\", \"evalScripts\", \"fallback\", \"httpRequestWithCredentials\", \"loading\", \"renumerateIRIElements\", \"src\", \"title\", \"useRequestCache\", \"wrapper\"];\nvar svgNamespace = 'http://www.w3.org/2000/svg';\nvar xlinkNamespace = 'http://www.w3.org/1999/xlink';\nvar ReactSVG = /*#__PURE__*/function (_React$Component) {\n function ReactSVG() {\n var _this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.initialState = {\n hasError: false,\n isLoading: true\n };\n _this.state = _this.initialState;\n _this._isMounted = false;\n _this.reactWrapper = void 0;\n _this.nonReactWrapper = void 0;\n _this.refCallback = function (reactWrapper) {\n _this.reactWrapper = reactWrapper;\n };\n return _this;\n }\n _inheritsLoose(ReactSVG, _React$Component);\n var _proto = ReactSVG.prototype;\n _proto.renderSVG = function renderSVG() {\n var _this2 = this;\n /* istanbul ignore else */\n if (this.reactWrapper instanceof ownerWindow(this.reactWrapper).Node) {\n var _this$props = this.props,\n desc = _this$props.desc,\n evalScripts = _this$props.evalScripts,\n httpRequestWithCredentials = _this$props.httpRequestWithCredentials,\n renumerateIRIElements = _this$props.renumerateIRIElements,\n src = _this$props.src,\n title = _this$props.title,\n useRequestCache = _this$props.useRequestCache;\n /* eslint-disable @typescript-eslint/no-non-null-assertion */\n var onError = this.props.onError;\n var beforeInjection = this.props.beforeInjection;\n var afterInjection = this.props.afterInjection;\n var wrapper = this.props.wrapper;\n var nonReactWrapper;\n var nonReactTarget;\n if (wrapper === 'svg') {\n nonReactWrapper = document.createElementNS(svgNamespace, wrapper);\n nonReactWrapper.setAttribute('xmlns', svgNamespace);\n nonReactWrapper.setAttribute('xmlns:xlink', xlinkNamespace);\n nonReactTarget = document.createElementNS(svgNamespace, wrapper);\n } else {\n nonReactWrapper = document.createElement(wrapper);\n nonReactTarget = document.createElement(wrapper);\n }\n nonReactWrapper.appendChild(nonReactTarget);\n nonReactTarget.dataset.src = src;\n this.nonReactWrapper = this.reactWrapper.appendChild(nonReactWrapper);\n var handleError = function handleError(error) {\n _this2.removeSVG();\n if (!_this2._isMounted) {\n onError(error);\n return;\n }\n _this2.setState(function () {\n return {\n hasError: true,\n isLoading: false\n };\n }, function () {\n onError(error);\n });\n };\n var afterEach = function afterEach(error, svg) {\n if (error) {\n handleError(error);\n return;\n }\n // TODO (Tane): It'd be better to cleanly unsubscribe from SVGInjector\n // callbacks instead of tracking a property like this.\n if (_this2._isMounted) {\n _this2.setState(function () {\n return {\n isLoading: false\n };\n }, function () {\n try {\n afterInjection(svg);\n } catch (afterInjectionError) {\n handleError(afterInjectionError);\n }\n });\n }\n };\n var beforeEach = function beforeEach(svg) {\n svg.setAttribute('role', 'img');\n if (desc) {\n var originalDesc = svg.querySelector(':scope > desc');\n if (originalDesc) {\n svg.removeChild(originalDesc);\n }\n var newDesc = document.createElement('desc');\n newDesc.innerHTML = desc;\n svg.prepend(newDesc);\n }\n if (title) {\n var originalTitle = svg.querySelector(':scope > title');\n if (originalTitle) {\n svg.removeChild(originalTitle);\n }\n var newTitle = document.createElement('title');\n newTitle.innerHTML = title;\n svg.prepend(newTitle);\n }\n try {\n beforeInjection(svg);\n } catch (error) {\n handleError(error);\n }\n };\n SVGInjector(nonReactTarget, {\n afterEach: afterEach,\n beforeEach: beforeEach,\n cacheRequests: useRequestCache,\n evalScripts: evalScripts,\n httpRequestWithCredentials: httpRequestWithCredentials,\n renumerateIRIElements: renumerateIRIElements\n });\n }\n };\n _proto.removeSVG = function removeSVG() {\n var _this$nonReactWrapper;\n if ((_this$nonReactWrapper = this.nonReactWrapper) != null && _this$nonReactWrapper.parentNode) {\n this.nonReactWrapper.parentNode.removeChild(this.nonReactWrapper);\n this.nonReactWrapper = null;\n }\n };\n _proto.componentDidMount = function componentDidMount() {\n this._isMounted = true;\n this.renderSVG();\n };\n _proto.componentDidUpdate = function componentDidUpdate(prevProps) {\n var _this3 = this;\n if (shallowDiffers(_extends({}, prevProps), this.props)) {\n this.setState(function () {\n return _this3.initialState;\n }, function () {\n _this3.removeSVG();\n _this3.renderSVG();\n });\n }\n };\n _proto.componentWillUnmount = function componentWillUnmount() {\n this._isMounted = false;\n this.removeSVG();\n };\n _proto.render = function render() {\n /* eslint-disable @typescript-eslint/no-unused-vars */\n var _this$props2 = this.props;\n _this$props2.afterInjection;\n _this$props2.beforeInjection;\n _this$props2.desc;\n _this$props2.evalScripts;\n var Fallback = _this$props2.fallback;\n _this$props2.httpRequestWithCredentials;\n var Loading = _this$props2.loading;\n _this$props2.renumerateIRIElements;\n _this$props2.src;\n _this$props2.title;\n _this$props2.useRequestCache;\n var wrapper = _this$props2.wrapper,\n rest = _objectWithoutPropertiesLoose(_this$props2, _excluded);\n /* eslint-enable @typescript-eslint/no-unused-vars */\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n var Wrapper = wrapper;\n return /*#__PURE__*/React.createElement(Wrapper, _extends({}, rest, {\n ref: this.refCallback\n }, wrapper === 'svg' ? {\n xmlns: svgNamespace,\n xmlnsXlink: xlinkNamespace\n } : {}), this.state.isLoading && Loading && /*#__PURE__*/React.createElement(Loading, null), this.state.hasError && Fallback && /*#__PURE__*/React.createElement(Fallback, null));\n };\n return ReactSVG;\n}(React.Component);\nReactSVG.defaultProps = {\n afterInjection: function afterInjection() {\n return undefined;\n },\n beforeInjection: function beforeInjection() {\n return undefined;\n },\n desc: '',\n evalScripts: 'never',\n fallback: null,\n httpRequestWithCredentials: false,\n loading: null,\n onError: function onError() {\n return undefined;\n },\n renumerateIRIElements: true,\n title: '',\n useRequestCache: true,\n wrapper: 'div'\n};\nReactSVG.propTypes = {\n afterInjection: PropTypes.func,\n beforeInjection: PropTypes.func,\n desc: PropTypes.string,\n evalScripts: PropTypes.oneOf(['always', 'once', 'never']),\n fallback: PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.string]),\n httpRequestWithCredentials: PropTypes.bool,\n loading: PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.string]),\n onError: PropTypes.func,\n renumerateIRIElements: PropTypes.bool,\n src: PropTypes.string.isRequired,\n title: PropTypes.string,\n useRequestCache: PropTypes.bool,\n wrapper: PropTypes.oneOf(['div', 'span', 'svg'])\n} ;\n\nexport { ReactSVG };\n//# sourceMappingURL=react-svg.esm.js.map\n"],"names":["_objectWithoutPropertiesLoose","_extends","_inheritsLoose","SVGInjector","propTypesExports","React","ownerWindow","node","doc","shallowDiffers","a","b","i","_i","_excluded","svgNamespace","xlinkNamespace","ReactSVG","_React$Component","_this","_len","args","_key","reactWrapper","_proto","_this2","_this$props","desc","evalScripts","httpRequestWithCredentials","renumerateIRIElements","src","title","useRequestCache","onError","beforeInjection","afterInjection","wrapper","nonReactWrapper","nonReactTarget","handleError","error","afterEach","svg","afterInjectionError","beforeEach","originalDesc","newDesc","originalTitle","newTitle","_this$nonReactWrapper","prevProps","_this3","_this$props2","Fallback","Loading","rest","Wrapper","PropTypes.func","PropTypes.string","PropTypes.oneOf","PropTypes.oneOfType","PropTypes.object","PropTypes.bool"],"mappings":"AAOA,OAAAA,OAAA;AAAA,OAAAC,OAAA;AAAA,OAAAC,OAAA;AAAA,SAAA,eAAAC,SAAA;AAAA,SAAA,KAAAC,SAAA;AAAA,YAAAC,OAAA;AACA,IAAIC,IAAc,SAAqBC,GAAM;AAC3C,MAAIC,IAA+BD,GAAK,iBAAkB;AAC1D,SAAOC,EAAI,eAAe;AAC5B,GAGIC,IAAiB,SAAwBC,GAAGC,GAAG;AACjD,WAASC,KAAKF;AACZ,QAAI,EAAEE,KAAKD;AACT,aAAO;AAGX,WAASE,KAAMF;AACb,QAAID,EAAEG,CAAE,MAAMF,EAAEE,CAAE;AAChB,aAAO;AAGX,SAAO;AACT,GAEIC,IAAY,CAAC,kBAAkB,mBAAmB,QAAQ,eAAe,YAAY,8BAA8B,WAAW,yBAAyB,OAAO,SAAS,mBAAmB,SAAS,GACnMC,IAAe,8BACfC,IAAiB,gCACjBC,IAAwB,yBAAUC,GAAkB;AACtD,WAASD,IAAW;AAElB,aADIE,GACKC,IAAO,UAAU,QAAQC,IAAO,IAAI,MAAMD,CAAI,GAAGE,IAAO,GAAGA,IAAOF,GAAME;AAC/E,MAAAD,EAAKC,CAAI,IAAI,UAAUA,CAAI;AAE7B,WAAAH,IAAQD,EAAiB,KAAK,MAAMA,GAAkB,CAAC,IAAI,EAAE,OAAOG,CAAI,CAAC,KAAK,MAC9EF,EAAM,eAAe;AAAA,MACnB,UAAU;AAAA,MACV,WAAW;AAAA,IACjB,GACIA,EAAM,QAAQA,EAAM,cACpBA,EAAM,aAAa,IACnBA,EAAM,eAAe,QACrBA,EAAM,kBAAkB,QACxBA,EAAM,cAAc,SAAUI,GAAc;AAC1C,MAAAJ,EAAM,eAAeI;AAAA,IACvB,GACOJ;AAAA,EACT;AACA,EAAAjB,EAAee,GAAUC,CAAgB;AACzC,MAAIM,IAASP,EAAS;AACtB,SAAAO,EAAO,YAAY,WAAqB;AACtC,QAAIC,IAAS;AAEb,QAAI,KAAK,wBAAwBnB,EAAY,KAAK,YAAY,EAAE,MAAM;AACpE,UAAIoB,IAAc,KAAK,OACrBC,IAAOD,EAAY,MACnBE,IAAcF,EAAY,aAC1BG,IAA6BH,EAAY,4BACzCI,IAAwBJ,EAAY,uBACpCK,IAAML,EAAY,KAClBM,IAAQN,EAAY,OACpBO,IAAkBP,EAAY,iBAE5BQ,IAAU,KAAK,MAAM,SACrBC,IAAkB,KAAK,MAAM,iBAC7BC,IAAiB,KAAK,MAAM,gBAC5BC,IAAU,KAAK,MAAM,SACrBC,GACAC;AACJ,MAAIF,MAAY,SACdC,IAAkB,SAAS,gBAAgBvB,GAAcsB,CAAO,GAChEC,EAAgB,aAAa,SAASvB,CAAY,GAClDuB,EAAgB,aAAa,eAAetB,CAAc,GAC1DuB,IAAiB,SAAS,gBAAgBxB,GAAcsB,CAAO,MAE/DC,IAAkB,SAAS,cAAcD,CAAO,GAChDE,IAAiB,SAAS,cAAcF,CAAO,IAEjDC,EAAgB,YAAYC,CAAc,GAC1CA,EAAe,QAAQ,MAAMR,GAC7B,KAAK,kBAAkB,KAAK,aAAa,YAAYO,CAAe;AACpE,UAAIE,IAAc,SAAqBC,GAAO;AAE5C,YADAhB,EAAO,UAAS,GACZ,CAACA,EAAO,YAAY;AACtB,UAAAS,EAAQO,CAAK;AACb;AAAA,QACF;AACA,QAAAhB,EAAO,SAAS,WAAY;AAC1B,iBAAO;AAAA,YACL,UAAU;AAAA,YACV,WAAW;AAAA,UACvB;AAAA,QACQ,GAAG,WAAY;AACb,UAAAS,EAAQO,CAAK;AAAA,QACf,CAAC;AAAA,MACH,GACIC,IAAY,SAAmBD,GAAOE,GAAK;AAC7C,YAAIF,GAAO;AACT,UAAAD,EAAYC,CAAK;AACjB;AAAA,QACF;AAGA,QAAIhB,EAAO,cACTA,EAAO,SAAS,WAAY;AAC1B,iBAAO;AAAA,YACL,WAAW;AAAA,UACzB;AAAA,QACU,GAAG,WAAY;AACb,cAAI;AACF,YAAAW,EAAeO,CAAG;AAAA,UACpB,SAASC,GAAqB;AAC5B,YAAAJ,EAAYI,CAAmB;AAAA,UACjC;AAAA,QACF,CAAC;AAAA,MAEL,GACIC,IAAa,SAAoBF,GAAK;AAExC,YADAA,EAAI,aAAa,QAAQ,KAAK,GAC1BhB,GAAM;AACR,cAAImB,IAAeH,EAAI,cAAc,eAAe;AACpD,UAAIG,KACFH,EAAI,YAAYG,CAAY;AAE9B,cAAIC,IAAU,SAAS,cAAc,MAAM;AAC3C,UAAAA,EAAQ,YAAYpB,GACpBgB,EAAI,QAAQI,CAAO;AAAA,QACrB;AACA,YAAIf,GAAO;AACT,cAAIgB,IAAgBL,EAAI,cAAc,gBAAgB;AACtD,UAAIK,KACFL,EAAI,YAAYK,CAAa;AAE/B,cAAIC,IAAW,SAAS,cAAc,OAAO;AAC7C,UAAAA,EAAS,YAAYjB,GACrBW,EAAI,QAAQM,CAAQ;AAAA,QACtB;AACA,YAAI;AACF,UAAAd,EAAgBQ,CAAG;AAAA,QACrB,SAASF,GAAO;AACd,UAAAD,EAAYC,CAAK;AAAA,QACnB;AAAA,MACF;AACA,MAAAtC,EAAYoC,GAAgB;AAAA,QAC1B,WAAWG;AAAA,QACX,YAAYG;AAAA,QACZ,eAAeZ;AAAA,QACf,aAAaL;AAAA,QACb,4BAA4BC;AAAA,QAC5B,uBAAuBC;AAAA,MAC/B,CAAO;AAAA,IACH;AAAA,EACF,GACAN,EAAO,YAAY,WAAqB;AACtC,QAAI0B;AACJ,KAAKA,IAAwB,KAAK,oBAAoB,QAAQA,EAAsB,eAClF,KAAK,gBAAgB,WAAW,YAAY,KAAK,eAAe,GAChE,KAAK,kBAAkB;AAAA,EAE3B,GACA1B,EAAO,oBAAoB,WAA6B;AACtD,SAAK,aAAa,IAClB,KAAK,UAAS;AAAA,EAChB,GACAA,EAAO,qBAAqB,SAA4B2B,GAAW;AACjE,QAAIC,IAAS;AACb,IAAI3C,EAAeR,EAAS,CAAA,GAAIkD,CAAS,GAAG,KAAK,KAAK,KACpD,KAAK,SAAS,WAAY;AACxB,aAAOC,EAAO;AAAA,IAChB,GAAG,WAAY;AACb,MAAAA,EAAO,UAAS,GAChBA,EAAO,UAAS;AAAA,IAClB,CAAC;AAAA,EAEL,GACA5B,EAAO,uBAAuB,WAAgC;AAC5D,SAAK,aAAa,IAClB,KAAK,UAAS;AAAA,EAChB,GACAA,EAAO,SAAS,WAAkB;AAEhC,QAAI6B,IAAe,KAAK,OAKlBC,IAAWD,EAAa,UAExBE,IAAUF,EAAa,SAKvBhB,IAAUgB,EAAa,SAC3BG,IAAOxD,EAA8BqD,GAAcvC,CAAS,GAG1D2C,IAAUpB;AACd,WAAoB,gBAAAhC,EAAM,cAAcoD,GAASxD,EAAS,CAAA,GAAIuD,GAAM;AAAA,MAClE,KAAK,KAAK;AAAA,IAChB,GAAOnB,MAAY,QAAQ;AAAA,MACrB,OAAOtB;AAAA,MACP,YAAYC;AAAA,IAClB,IAAQ,CAAA,CAAE,GAAG,KAAK,MAAM,aAAauC,KAAwB,gBAAAlD,EAAM,cAAckD,GAAS,IAAI,GAAG,KAAK,MAAM,YAAYD,KAAyB,gBAAAjD,EAAM,cAAciD,GAAU,IAAI,CAAC;AAAA,EAClL,GACOrC;AACT,EAAEZ,EAAM,SAAS;AACjBY,EAAS,eAAe;AAAA,EACtB,gBAAgB,WAA0B;AAAA,EAE1C;AAAA,EACA,iBAAiB,WAA2B;AAAA,EAE5C;AAAA,EACA,MAAM;AAAA,EACN,aAAa;AAAA,EACb,UAAU;AAAA,EACV,4BAA4B;AAAA,EAC5B,SAAS;AAAA,EACT,SAAS,WAAmB;AAAA,EAE5B;AAAA,EACA,uBAAuB;AAAA,EACvB,OAAO;AAAA,EACP,iBAAiB;AAAA,EACjB,SAAS;AACX;AACAA,EAAS,YAAY;AAAA,EACnB,gBAAgByC,EAAAA;AAAAA,EAChB,iBAAiBA,EAAAA;AAAAA,EACjB,MAAMC,EAAAA;AAAAA,EACN,aAAaC,EAAAA,MAAgB,CAAC,UAAU,QAAQ,OAAO,CAAC;AAAA,EACxD,UAAUC,EAAAA,UAAoB,CAACH,EAAAA,MAAgBI,EAAAA,QAAkBH,EAAAA,MAAgB,CAAC;AAAA,EAClF,4BAA4BI,EAAAA;AAAAA,EAC5B,SAASF,EAAAA,UAAoB,CAACH,EAAAA,MAAgBI,EAAAA,QAAkBH,EAAAA,MAAgB,CAAC;AAAA,EACjF,SAASD,EAAAA;AAAAA,EACT,uBAAuBK,EAAAA;AAAAA,EACvB,KAAKJ,EAAAA,OAAiB;AAAA,EACtB,OAAOA,EAAAA;AAAAA,EACP,iBAAiBI,EAAAA;AAAAA,EACjB,SAASH,EAAAA,MAAgB,CAAC,OAAO,QAAQ,KAAK,CAAC;AACjD;","x_google_ignoreList":[0]}
package/dist/index213.js CHANGED
@@ -1,46 +1,12 @@
1
- import { useRef as l } from "react";
2
- import { useFocusTrap as d } from "./index77.js";
3
- import { useDismissOnEscape as c } from "./index221.js";
4
- import { getA11yNameAttributes as f } from "./index86.js";
5
- import { useStableId as p } from "./index212.js";
6
- function x({
7
- isOpen: t,
8
- onDismiss: s,
9
- ariaLabel: o,
10
- ariaLabelledBy: i,
11
- titleIdPrefix: a = "modal-title",
12
- initialFocus: m = "first",
13
- portalContainerRefs: n
14
- }) {
15
- const e = l(null), r = p(void 0, a);
16
- d({
17
- enabled: t,
18
- containerRef: e,
19
- restoreFocus: !0,
20
- initialFocus: m,
21
- portalContainerRefs: n
22
- }), c({
23
- containerRef: e,
24
- onDismiss: s,
25
- enabled: t,
26
- useDocumentListener: !0
27
- });
28
- const u = {
29
- role: "dialog",
30
- "aria-modal": !0,
31
- tabIndex: -1,
32
- ...f({
33
- ariaLabelledBy: i ?? (o ? void 0 : r),
34
- ariaLabel: o
35
- })
36
- };
37
- return {
38
- containerRef: e,
39
- titleId: r,
40
- dialogProps: u
41
- };
1
+ function n(i) {
2
+ if (!i) return !1;
3
+ const t = window.getComputedStyle(i);
4
+ if (t.display === "none" || t.visibility === "hidden")
5
+ return !1;
6
+ const e = i.getBoundingClientRect();
7
+ return e.width > 0 && e.height > 0;
42
8
  }
43
9
  export {
44
- x as useModalA11y
10
+ n as isElementVisible
45
11
  };
46
12
  //# sourceMappingURL=index213.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index213.js","sources":["../src/utils/a11y/useModalA11y.ts"],"sourcesContent":["import { useRef } from 'react';\nimport type { MutableRefObject, RefObject } from 'react';\nimport { useFocusTrap } from './useFocusTrap';\nimport { useDismissOnEscape } from './useDismissOnEscape';\nimport { getA11yNameAttributes } from './accessibleName';\nimport { useStableId } from 'src/utils/useStableId';\n\nexport interface UseModalA11yOptions {\n /**\n * Whether the modal is open. Controls focus trap and Escape handler activation.\n */\n isOpen: boolean;\n /**\n * Called when Escape is pressed while focus is within the modal.\n * If undefined, Escape dismissal is disabled.\n */\n onDismiss?: () => void;\n /**\n * aria-label for modals without a visible title heading.\n * Only used when `ariaLabelledBy` is not provided.\n */\n ariaLabel?: string;\n /**\n * ID of an existing visible element (e.g. an h2 inside the modal content) that labels\n * the dialog. Preferred over ariaLabel when a visible heading already exists in the content.\n * Only used when `title` is not provided.\n */\n ariaLabelledBy?: string;\n /**\n * Prefix for the auto-generated title element id. Default: 'modal-title'.\n */\n titleIdPrefix?: string;\n /**\n * Initial focus target when the modal opens. Forwarded to useFocusTrap.\n * - 'first': Focus first focusable element (default)\n * - 'container': Focus the dialog container itself\n * - 'none': Skip — browser handles it (e.g. autofocus attribute on inner element)\n * - CSS selector string: Focus matching element\n * - HTMLElement: Focus specific element\n */\n initialFocus?: 'first' | 'container' | 'none' | string | HTMLElement;\n /**\n * Additional container refs for portal content that is logically part of this modal.\n * Passed through to useFocusTrap and useDismissOnEscape so their safety nets\n * allow focus to move into portal-rendered content (e.g., Dropdown with isWithPortal).\n */\n portalContainerRefs?: MutableRefObject<RefObject<HTMLElement | null>[]>;\n}\n\nexport interface UseModalA11yReturn {\n /**\n * Ref to attach to the dialog container element.\n */\n containerRef: React.RefObject<HTMLDivElement | null>;\n /**\n * Stable ID to set on the visible title element: `<h2 id={titleId}>`.\n * Only relevant when `title` is provided.\n */\n titleId: string;\n /**\n * Spread onto the dialog container element.\n * Includes: role=\"dialog\", aria-modal, tabIndex, aria-labelledby or aria-label.\n */\n dialogProps: {\n role: 'dialog';\n 'aria-modal': true;\n tabIndex: number;\n [key: string]: unknown;\n };\n}\n\n/**\n * Bundles all WCAG dialog semantics into a single hook.\n *\n * Handles:\n * - Stable ID for title element (aria-labelledby association)\n * - Focus trap: moves focus into modal on open, wraps Tab, restores focus on close\n * - Escape dismissal: calls onDismiss when Escape is pressed within the modal\n * - dialogProps: role=\"dialog\", aria-modal, tabIndex, aria-labelledby / aria-label\n *\n * @example Modal with a visible title (most common)\n * ```tsx\n * const MyModal = ({ isOpen, onClose }) => {\n * const { containerRef, titleId, dialogProps } = useModalA11y({\n * isOpen,\n * onDismiss: onClose,\n * });\n *\n * return (\n * <div ref={containerRef} {...dialogProps} className=\"modal-content\">\n * <h2 id={titleId}>My Title</h2>\n * ...\n * </div>\n * );\n * };\n * ```\n *\n * @example Modal without a visible title\n * ```tsx\n * const { containerRef, dialogProps } = useModalA11y({\n * isOpen,\n * onDismiss: onClose,\n * ariaLabel: 'Upload document',\n * });\n * ```\n *\n * @example Custom initial focus (specific button) or skip (autofocus)\n * ```tsx\n * useModalA11y({ isOpen, onDismiss, initialFocus: '.my-cta-btn' });\n * useModalA11y({ isOpen, onDismiss, initialFocus: 'none' }); // autofocus on inner element\n * ```\n */\nexport function useModalA11y({\n isOpen,\n onDismiss,\n ariaLabel,\n ariaLabelledBy,\n titleIdPrefix = 'modal-title',\n initialFocus = 'first',\n portalContainerRefs,\n}: UseModalA11yOptions): UseModalA11yReturn {\n const containerRef = useRef<HTMLDivElement>(null);\n const titleId = useStableId(undefined, titleIdPrefix);\n\n useFocusTrap({\n enabled: isOpen,\n containerRef,\n restoreFocus: true,\n initialFocus,\n portalContainerRefs,\n });\n\n useDismissOnEscape({\n containerRef,\n onDismiss,\n enabled: isOpen,\n useDocumentListener: true,\n });\n\n const nameAttrs = getA11yNameAttributes({\n ariaLabelledBy: ariaLabelledBy ?? (ariaLabel ? undefined : titleId),\n ariaLabel: ariaLabel,\n });\n\n const dialogProps = {\n role: 'dialog' as const,\n 'aria-modal': true as const,\n tabIndex: -1,\n ...nameAttrs,\n };\n\n return { containerRef, titleId, dialogProps };\n}\n"],"names":["useRef","useFocusTrap","useDismissOnEscape","getA11yNameAttributes","useStableId","useModalA11y","isOpen","onDismiss","ariaLabel","ariaLabelledBy","titleIdPrefix","initialFocus","portalContainerRefs","containerRef","titleId","undefined","enabled","restoreFocus","useDocumentListener","dialogProps","role","tabIndex","nameAttrs"],"mappings":"AAgHO,SAAA,UAAAA,SAAA;AAAA,SAAA,gBAAAC,SAAA;AAAA,SAAA,sBAAAC,SAAA;AAAA,SAAA,yBAAAC,SAAA;AAAA,SAAA,eAAAC,SAAA;AAAA,SAASC,EAAa;AAAA,EAC3BC,QAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC,eAAAA,IAAgB;AAAA,EAChBC,cAAAA,IAAe;AAAA,EACfC,qBAAAA;AACmB,GAAuB;AAC1C,QAAMC,IAAeb,EAAuB,IAAI,GAC1Cc,IAAUV,EAAYW,QAAWL,CAAa;AAEpDT,EAAAA,EAAa;AAAA,IACXe,SAASV;AAAAA,IACTO,cAAAA;AAAAA,IACAI,cAAc;AAAA,IACdN,cAAAA;AAAAA,IACAC,qBAAAA;AAAAA,EAAAA,CACD,GAEDV,EAAmB;AAAA,IACjBW,cAAAA;AAAAA,IACAN,WAAAA;AAAAA,IACAS,SAASV;AAAAA,IACTY,qBAAqB;AAAA,EAAA,CACtB;AAOD,QAAMC,IAAc;AAAA,IAClBC,MAAM;AAAA,IACN,cAAc;AAAA,IACdC,UAAU;AAAA,IACV,GATgBlB,EAAsB;AAAA,MACtCM,gBAAgBA,MAAmBD,IAAYO,SAAYD;AAAAA,MAC3DN,WAAAA;AAAAA,IAAAA,CACD;AAAA,EAMIc;AAGL,SAAO;AAAA,IAAET,cAAAA;AAAAA,IAAcC,SAAAA;AAAAA,IAASK,aAAAA;AAAAA,EAAAA;AAClC;"}
1
+ {"version":3,"file":"index213.js","sources":["../src/utils/a11y/elementVisibility.ts"],"sourcesContent":["/**\n * Checks if an element is visible in the DOM.\n * \n * An element is considered visible if:\n * - It exists in the DOM\n * - It's not hidden via CSS (display: none, visibility: hidden)\n * - It has actual dimensions (width > 0 and height > 0)\n * \n * @param element - The element to check, or null\n * @returns true if the element is visible, false otherwise\n * \n * @example\n * const element = document.getElementById('my-element');\n * if (isElementVisible(element)) {\n * // Element is visible\n * }\n */\nexport function isElementVisible(element: HTMLElement | null): boolean {\n if (!element) return false;\n\n // Check computed style for display/visibility\n const style = window.getComputedStyle(element);\n if (style.display === 'none' || style.visibility === 'hidden') {\n return false;\n }\n\n // Check if element has dimensions\n const rect = element.getBoundingClientRect();\n return rect.width > 0 && rect.height > 0;\n}\n"],"names":["isElementVisible","element","style","window","getComputedStyle","display","visibility","rect","getBoundingClientRect","width","height"],"mappings":"AAiBO,SAASA,EAAiBC,GAAsC;AACrE,MAAI,CAACA,EAAS,QAAO;AAGrB,QAAMC,IAAQC,OAAOC,iBAAiBH,CAAO;AAC7C,MAAIC,EAAMG,YAAY,UAAUH,EAAMI,eAAe;AACnD,WAAO;AAIT,QAAMC,IAAON,EAAQO,sBAAAA;AACrB,SAAOD,EAAKE,QAAQ,KAAKF,EAAKG,SAAS;AACzC;"}
package/dist/index214.js CHANGED
@@ -1,24 +1,9 @@
1
- import { createContext as u, useRef as o, useCallback as s, useContext as c, useEffect as a } from "react";
2
- const f = /* @__PURE__ */ u(null);
3
- function l() {
4
- const r = o(/* @__PURE__ */ new Set()), t = o([]);
5
- return {
6
- register: s((n) => (r.current.add(n), t.current = Array.from(r.current), () => {
7
- r.current.delete(n), t.current = Array.from(r.current);
8
- }), []),
9
- portalContainerRefs: t
10
- };
11
- }
12
- function p(r, t) {
13
- const e = c(f);
14
- a(() => {
15
- if (!(!e || !t))
16
- return e(r);
17
- }, [e, t, r]);
1
+ import { useRef as n } from "react";
2
+ function u(e, t = "se-id") {
3
+ const r = n("");
4
+ return r.current || (r.current = `${t}-${crypto.randomUUID()}`), e || r.current;
18
5
  }
19
6
  export {
20
- f as FocusTrapPortalContext,
21
- l as useFocusTrapPortalRegistry,
22
- p as useRegisterPortalWithFocusTrap
7
+ u as useStableId
23
8
  };
24
9
  //# sourceMappingURL=index214.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index214.js","sources":["../src/utils/a11y/FocusTrapPortalContext.tsx"],"sourcesContent":["import { createContext, useCallback, useContext, useEffect, useRef } from 'react';\n\ntype RegisterPortal = (ref: React.RefObject<HTMLElement | null>) => () => void;\n\n/**\n * Context for portal content to register with the nearest focus trap.\n * When a Modal (or any focus trap owner) provides this context, portal-rendered\n * content (e.g., Popover with isWithPortal) can register its container ref so\n * the focus trap's safety net allows focus to move into it.\n */\nexport const FocusTrapPortalContext = createContext<RegisterPortal | null>(null);\n\n/**\n * Hook for the focus trap owner (Modal) to create a portal registration function\n * and a stable ref to the current list of portal container refs.\n *\n * Usage in Modal:\n * ```tsx\n * const { register, portalContainerRefs } = useFocusTrapPortalRegistry();\n * // Pass portalContainerRefs.current to useModalA11y\n * // Wrap children with <FocusTrapPortalContext.Provider value={register}>\n * ```\n */\nexport function useFocusTrapPortalRegistry() {\n const portalRefsSet = useRef<Set<React.RefObject<HTMLElement | null>>>(new Set());\n const portalContainerRefs = useRef<React.RefObject<HTMLElement | null>[]>([]);\n\n const register: RegisterPortal = useCallback((ref) => {\n portalRefsSet.current.add(ref);\n portalContainerRefs.current = Array.from(portalRefsSet.current);\n return () => {\n portalRefsSet.current.delete(ref);\n portalContainerRefs.current = Array.from(portalRefsSet.current);\n };\n }, []);\n\n return { register, portalContainerRefs };\n}\n\n/**\n * Hook for portal content (Popover) to register its container ref with the\n * nearest ancestor focus trap. No-op if there is no focus trap ancestor.\n *\n * @param portalRef - Ref to the portal's root DOM element\n * @param isActive - Whether the portal is currently mounted and should be registered\n */\nexport function useRegisterPortalWithFocusTrap(\n portalRef: React.RefObject<HTMLElement | null>,\n isActive: boolean\n) {\n const register = useContext(FocusTrapPortalContext);\n\n useEffect(() => {\n if (!register || !isActive) return;\n return register(portalRef);\n }, [register, isActive, portalRef]);\n}\n"],"names":["createContext","useRef","useCallback","useContext","useEffect","FocusTrapPortalContext","useFocusTrapPortalRegistry","portalRefsSet","Set","portalContainerRefs","register","ref","current","add","Array","from","delete","useRegisterPortalWithFocusTrap","portalRef","isActive"],"mappings":"AAUO,SAAA,iBAAAA,GAAA,UAAAC,GAAA,eAAAC,GAAA,cAAAC,GAAA,aAAAC,SAAA;AAAA,MAAMC,sBAA8D,IAAI;AAaxE,SAASC,IAA6B;AAC3C,QAAMC,IAAgBN,EAAiD,oBAAIO,KAAK,GAC1EC,IAAsBR,EAA8C,EAAE;AAW5E,SAAO;AAAA,IAAES,UATwBR,EAAaS,CAAAA,OAC5CJ,EAAcK,QAAQC,IAAIF,CAAG,GAC7BF,EAAoBG,UAAUE,MAAMC,KAAKR,EAAcK,OAAO,GACvD,MAAM;AACXL,MAAAA,EAAcK,QAAQI,OAAOL,CAAG,GAChCF,EAAoBG,UAAUE,MAAMC,KAAKR,EAAcK,OAAO;AAAA,IAChE,IACC,CAAA,CAAE;AAAA,IAEcH,qBAAAA;AAAAA,EAAAA;AACrB;AASO,SAASQ,EACdC,GACAC,GACA;AACA,QAAMT,IAAWP,EAAWE,CAAsB;AAElDD,EAAAA,EAAU,MAAM;AACd,QAAI,GAACM,KAAY,CAACS;AAClB,aAAOT,EAASQ,CAAS;AAAA,EAC3B,GAAG,CAACR,GAAUS,GAAUD,CAAS,CAAC;AACpC;"}
1
+ {"version":3,"file":"index214.js","sources":["../src/utils/useStableId.ts"],"sourcesContent":["import { useRef } from 'react';\n\n/**\n * Generates a stable unique ID for component instances (React 16 compatible).\n * Returns the provided id if given, otherwise generates a stable per-mount id.\n * \n * @param id - Optional explicit id\n * @param prefix - Prefix for auto-generated ids (default: 'se-id')\n * @returns Stable id string\n */\nexport function useStableId(id?: string, prefix: string = 'se-id'): string {\n const autoIdRef = useRef<string>('');\n \n if (!autoIdRef.current) {\n autoIdRef.current = `${prefix}-${crypto.randomUUID()}`;\n }\n \n return id || autoIdRef.current;\n}\n\n\n\n\n\n\n\n"],"names":["useRef","useStableId","id","prefix","autoIdRef","current","crypto","randomUUID"],"mappings":"AAUO,SAAA,UAAAA,SAAA;AAAA,SAASC,EAAYC,GAAaC,IAAiB,SAAiB;AACzE,QAAMC,IAAYJ,EAAe,EAAE;AAEnC,SAAKI,EAAUC,YACbD,EAAUC,UAAU,GAAGF,CAAM,IAAIG,OAAOC,YAAY,KAG/CL,KAAME,EAAUC;AACzB;"}
@@ -0,0 +1,46 @@
1
+ import { useRef as l } from "react";
2
+ import { useFocusTrap as d } from "./index77.js";
3
+ import { useDismissOnEscape as c } from "./index223.js";
4
+ import { getA11yNameAttributes as f } from "./index86.js";
5
+ import { useStableId as p } from "./index214.js";
6
+ function x({
7
+ isOpen: t,
8
+ onDismiss: s,
9
+ ariaLabel: o,
10
+ ariaLabelledBy: i,
11
+ titleIdPrefix: a = "modal-title",
12
+ initialFocus: m = "first",
13
+ portalContainerRefs: n
14
+ }) {
15
+ const e = l(null), r = p(void 0, a);
16
+ d({
17
+ enabled: t,
18
+ containerRef: e,
19
+ restoreFocus: !0,
20
+ initialFocus: m,
21
+ portalContainerRefs: n
22
+ }), c({
23
+ containerRef: e,
24
+ onDismiss: s,
25
+ enabled: t,
26
+ useDocumentListener: !0
27
+ });
28
+ const u = {
29
+ role: "dialog",
30
+ "aria-modal": !0,
31
+ tabIndex: -1,
32
+ ...f({
33
+ ariaLabelledBy: i ?? (o ? void 0 : r),
34
+ ariaLabel: o
35
+ })
36
+ };
37
+ return {
38
+ containerRef: e,
39
+ titleId: r,
40
+ dialogProps: u
41
+ };
42
+ }
43
+ export {
44
+ x as useModalA11y
45
+ };
46
+ //# sourceMappingURL=index215.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index215.js","sources":["../src/utils/a11y/useModalA11y.ts"],"sourcesContent":["import { useRef } from 'react';\nimport type { MutableRefObject, RefObject } from 'react';\nimport { useFocusTrap } from './useFocusTrap';\nimport { useDismissOnEscape } from './useDismissOnEscape';\nimport { getA11yNameAttributes } from './accessibleName';\nimport { useStableId } from 'src/utils/useStableId';\n\nexport interface UseModalA11yOptions {\n /**\n * Whether the modal is open. Controls focus trap and Escape handler activation.\n */\n isOpen: boolean;\n /**\n * Called when Escape is pressed while focus is within the modal.\n * If undefined, Escape dismissal is disabled.\n */\n onDismiss?: () => void;\n /**\n * aria-label for modals without a visible title heading.\n * Only used when `ariaLabelledBy` is not provided.\n */\n ariaLabel?: string;\n /**\n * ID of an existing visible element (e.g. an h2 inside the modal content) that labels\n * the dialog. Preferred over ariaLabel when a visible heading already exists in the content.\n * Only used when `title` is not provided.\n */\n ariaLabelledBy?: string;\n /**\n * Prefix for the auto-generated title element id. Default: 'modal-title'.\n */\n titleIdPrefix?: string;\n /**\n * Initial focus target when the modal opens. Forwarded to useFocusTrap.\n * - 'first': Focus first focusable element (default)\n * - 'container': Focus the dialog container itself\n * - 'none': Skip — browser handles it (e.g. autofocus attribute on inner element)\n * - CSS selector string: Focus matching element\n * - HTMLElement: Focus specific element\n */\n initialFocus?: 'first' | 'container' | 'none' | string | HTMLElement;\n /**\n * Additional container refs for portal content that is logically part of this modal.\n * Passed through to useFocusTrap and useDismissOnEscape so their safety nets\n * allow focus to move into portal-rendered content (e.g., Dropdown with isWithPortal).\n */\n portalContainerRefs?: MutableRefObject<RefObject<HTMLElement | null>[]>;\n}\n\nexport interface UseModalA11yReturn {\n /**\n * Ref to attach to the dialog container element.\n */\n containerRef: React.RefObject<HTMLDivElement | null>;\n /**\n * Stable ID to set on the visible title element: `<h2 id={titleId}>`.\n * Only relevant when `title` is provided.\n */\n titleId: string;\n /**\n * Spread onto the dialog container element.\n * Includes: role=\"dialog\", aria-modal, tabIndex, aria-labelledby or aria-label.\n */\n dialogProps: {\n role: 'dialog';\n 'aria-modal': true;\n tabIndex: number;\n [key: string]: unknown;\n };\n}\n\n/**\n * Bundles all WCAG dialog semantics into a single hook.\n *\n * Handles:\n * - Stable ID for title element (aria-labelledby association)\n * - Focus trap: moves focus into modal on open, wraps Tab, restores focus on close\n * - Escape dismissal: calls onDismiss when Escape is pressed within the modal\n * - dialogProps: role=\"dialog\", aria-modal, tabIndex, aria-labelledby / aria-label\n *\n * @example Modal with a visible title (most common)\n * ```tsx\n * const MyModal = ({ isOpen, onClose }) => {\n * const { containerRef, titleId, dialogProps } = useModalA11y({\n * isOpen,\n * onDismiss: onClose,\n * });\n *\n * return (\n * <div ref={containerRef} {...dialogProps} className=\"modal-content\">\n * <h2 id={titleId}>My Title</h2>\n * ...\n * </div>\n * );\n * };\n * ```\n *\n * @example Modal without a visible title\n * ```tsx\n * const { containerRef, dialogProps } = useModalA11y({\n * isOpen,\n * onDismiss: onClose,\n * ariaLabel: 'Upload document',\n * });\n * ```\n *\n * @example Custom initial focus (specific button) or skip (autofocus)\n * ```tsx\n * useModalA11y({ isOpen, onDismiss, initialFocus: '.my-cta-btn' });\n * useModalA11y({ isOpen, onDismiss, initialFocus: 'none' }); // autofocus on inner element\n * ```\n */\nexport function useModalA11y({\n isOpen,\n onDismiss,\n ariaLabel,\n ariaLabelledBy,\n titleIdPrefix = 'modal-title',\n initialFocus = 'first',\n portalContainerRefs,\n}: UseModalA11yOptions): UseModalA11yReturn {\n const containerRef = useRef<HTMLDivElement>(null);\n const titleId = useStableId(undefined, titleIdPrefix);\n\n useFocusTrap({\n enabled: isOpen,\n containerRef,\n restoreFocus: true,\n initialFocus,\n portalContainerRefs,\n });\n\n useDismissOnEscape({\n containerRef,\n onDismiss,\n enabled: isOpen,\n useDocumentListener: true,\n });\n\n const nameAttrs = getA11yNameAttributes({\n ariaLabelledBy: ariaLabelledBy ?? (ariaLabel ? undefined : titleId),\n ariaLabel: ariaLabel,\n });\n\n const dialogProps = {\n role: 'dialog' as const,\n 'aria-modal': true as const,\n tabIndex: -1,\n ...nameAttrs,\n };\n\n return { containerRef, titleId, dialogProps };\n}\n"],"names":["useRef","useFocusTrap","useDismissOnEscape","getA11yNameAttributes","useStableId","useModalA11y","isOpen","onDismiss","ariaLabel","ariaLabelledBy","titleIdPrefix","initialFocus","portalContainerRefs","containerRef","titleId","undefined","enabled","restoreFocus","useDocumentListener","dialogProps","role","tabIndex","nameAttrs"],"mappings":"AAgHO,SAAA,UAAAA,SAAA;AAAA,SAAA,gBAAAC,SAAA;AAAA,SAAA,sBAAAC,SAAA;AAAA,SAAA,yBAAAC,SAAA;AAAA,SAAA,eAAAC,SAAA;AAAA,SAASC,EAAa;AAAA,EAC3BC,QAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC,eAAAA,IAAgB;AAAA,EAChBC,cAAAA,IAAe;AAAA,EACfC,qBAAAA;AACmB,GAAuB;AAC1C,QAAMC,IAAeb,EAAuB,IAAI,GAC1Cc,IAAUV,EAAYW,QAAWL,CAAa;AAEpDT,EAAAA,EAAa;AAAA,IACXe,SAASV;AAAAA,IACTO,cAAAA;AAAAA,IACAI,cAAc;AAAA,IACdN,cAAAA;AAAAA,IACAC,qBAAAA;AAAAA,EAAAA,CACD,GAEDV,EAAmB;AAAA,IACjBW,cAAAA;AAAAA,IACAN,WAAAA;AAAAA,IACAS,SAASV;AAAAA,IACTY,qBAAqB;AAAA,EAAA,CACtB;AAOD,QAAMC,IAAc;AAAA,IAClBC,MAAM;AAAA,IACN,cAAc;AAAA,IACdC,UAAU;AAAA,IACV,GATgBlB,EAAsB;AAAA,MACtCM,gBAAgBA,MAAmBD,IAAYO,SAAYD;AAAAA,MAC3DN,WAAAA;AAAAA,IAAAA,CACD;AAAA,EAMIc;AAGL,SAAO;AAAA,IAAET,cAAAA;AAAAA,IAAcC,SAAAA;AAAAA,IAASK,aAAAA;AAAAA,EAAAA;AAClC;"}