@bigbinary/neeto-molecules 3.15.5 → 3.15.6
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.
- package/dist/ShareViaLink.js +30 -11
- package/dist/ShareViaLink.js.map +1 -1
- package/dist/cjs/ShareViaLink.js +29 -10
- package/dist/cjs/ShareViaLink.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/ShareViaLink.js
CHANGED
|
@@ -95,8 +95,16 @@ var getPathname = function getPathname(url) {
|
|
|
95
95
|
var getPrefixFromUrl = function getPrefixFromUrl(url) {
|
|
96
96
|
return "".concat(new URL(url).origin, "/");
|
|
97
97
|
};
|
|
98
|
-
var truncatePrefix = function truncatePrefix(
|
|
99
|
-
|
|
98
|
+
var truncatePrefix = function truncatePrefix(inputElement, prefixText) {
|
|
99
|
+
var parentElement = inputElement.parentElement;
|
|
100
|
+
var prefixElement = parentElement.querySelector(".neeto-ui-input__prefix");
|
|
101
|
+
var _getComputedStyle = getComputedStyle(inputElement),
|
|
102
|
+
fontSize = _getComputedStyle.fontSize;
|
|
103
|
+
var averageCharWidth = parseFloat(fontSize) * 0.6;
|
|
104
|
+
var requiredInputWidth = inputElement.value.length * averageCharWidth;
|
|
105
|
+
var prefixWidth = parentElement.offsetWidth - requiredInputWidth;
|
|
106
|
+
var maxPrefixChars = Math.max(Math.floor(prefixWidth / averageCharWidth), 5);
|
|
107
|
+
prefixElement.textContent = maxPrefixChars < prefixText.length ? "...".concat(prefixText.slice(-maxPrefixChars)) : prefixText;
|
|
100
108
|
};
|
|
101
109
|
|
|
102
110
|
var SOCIAL_MEDIA_OPTIONS = {
|
|
@@ -119,7 +127,6 @@ var SOCIAL_MEDIA_OPTIONS = {
|
|
|
119
127
|
var PATH_VALIDATION_SCHEMA = yup__namespace.object().shape({
|
|
120
128
|
path: yup__namespace.string().required(i18next.t("neetoMolecules.shareViaLink.editUrl.validationError")).matches(/^[A-Za-z0-9]([\w/-])*$/, i18next.t("neetoMolecules.shareViaLink.editUrl.validationError"))
|
|
121
129
|
});
|
|
122
|
-
var MAX_PREFIX_SIZE = 30;
|
|
123
130
|
|
|
124
131
|
var css = ".no-padding .neeto-ui-input.neeto-ui-input--medium input{padding:0}.no-padding .neeto-ui-input__prefix{color:rgb(var(--neeto-ui-gray-600))!important}";
|
|
125
132
|
injectCss.n(css,{});
|
|
@@ -138,6 +145,18 @@ var EditURL = function EditURL(_ref) {
|
|
|
138
145
|
t = _useTranslation.t;
|
|
139
146
|
var focusRef = React.useRef(null);
|
|
140
147
|
var prevIsLoadingRef = React.useRef(isLoading);
|
|
148
|
+
var prefixText = (editUrlProps === null || editUrlProps === void 0 ? void 0 : editUrlProps.prefix) || getPrefixFromUrl(url);
|
|
149
|
+
var observerRef = React.useRef(new ResizeObserver(function (_ref2) {
|
|
150
|
+
var _ref3 = _slicedToArray(_ref2, 1),
|
|
151
|
+
entry = _ref3[0];
|
|
152
|
+
return requestAnimationFrame(function () {
|
|
153
|
+
return truncatePrefix(entry.target, prefixText);
|
|
154
|
+
});
|
|
155
|
+
}));
|
|
156
|
+
var inputRef = React.useCallback(function (inputElement) {
|
|
157
|
+
focusRef.current = inputElement;
|
|
158
|
+
inputElement ? observerRef.current.observe(inputElement) : observerRef.current.disconnect();
|
|
159
|
+
}, []);
|
|
141
160
|
React.useEffect(function () {
|
|
142
161
|
if (prevIsLoadingRef.current && !isLoading) onClose();
|
|
143
162
|
prevIsLoadingRef.current = isLoading;
|
|
@@ -161,13 +180,13 @@ var EditURL = function EditURL(_ref) {
|
|
|
161
180
|
path: (editUrlProps === null || editUrlProps === void 0 ? void 0 : editUrlProps.editablePath) || getPathname(url)
|
|
162
181
|
},
|
|
163
182
|
validationSchema: PATH_VALIDATION_SCHEMA,
|
|
164
|
-
onSubmit: function onSubmit(
|
|
165
|
-
var path =
|
|
183
|
+
onSubmit: function onSubmit(_ref4) {
|
|
184
|
+
var path = _ref4.path;
|
|
166
185
|
return handleEdit(path);
|
|
167
186
|
},
|
|
168
|
-
children: function children(
|
|
169
|
-
var isSubmitting =
|
|
170
|
-
dirty =
|
|
187
|
+
children: function children(_ref5) {
|
|
188
|
+
var isSubmitting = _ref5.isSubmitting,
|
|
189
|
+
dirty = _ref5.dirty;
|
|
171
190
|
return /*#__PURE__*/jsxRuntime.jsxs(formik.Form, {
|
|
172
191
|
children: [/*#__PURE__*/jsxRuntime.jsxs(Body, {
|
|
173
192
|
className: "space-y-6",
|
|
@@ -177,8 +196,8 @@ var EditURL = function EditURL(_ref) {
|
|
|
177
196
|
label: t("neetoMolecules.shareViaLink.editUrl.inputLabel"),
|
|
178
197
|
maxLength: editUrlProps === null || editUrlProps === void 0 ? void 0 : editUrlProps.maxLength,
|
|
179
198
|
name: "path",
|
|
180
|
-
|
|
181
|
-
|
|
199
|
+
prefix: prefixText,
|
|
200
|
+
ref: inputRef
|
|
182
201
|
}), /*#__PURE__*/jsxRuntime.jsx(Typography, {
|
|
183
202
|
className: "neeto-ui-text-gray-700",
|
|
184
203
|
lineHeight: "normal",
|