@limetech/lime-elements 39.45.2 → 40.0.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.
- package/CHANGELOG.md +29 -0
- package/dist/cjs/lime-elements.cjs.js +1 -1
- package/dist/cjs/limel-action-bar_3.cjs.entry.js +1 -1
- package/dist/cjs/limel-ai-avatar.cjs.entry.js +1 -1
- package/dist/cjs/limel-callout.cjs.entry.js +1 -1
- package/dist/cjs/limel-chart.cjs.entry.js +1 -1
- package/dist/cjs/limel-chip-set.cjs.entry.js +1 -1
- package/dist/cjs/limel-chip_2.cjs.entry.js +1 -1
- package/dist/cjs/limel-code-diff.cjs.entry.js +1 -1
- package/dist/cjs/limel-code-editor.cjs.entry.js +1 -1
- package/dist/cjs/limel-collapsible-section.cjs.entry.js +1 -1
- package/dist/cjs/limel-drag-handle.cjs.entry.js +1 -1
- package/dist/cjs/limel-email-viewer.cjs.entry.js +1 -1
- package/dist/cjs/limel-file-viewer.cjs.entry.js +701 -345
- package/dist/cjs/limel-file.cjs.entry.js +1 -1
- package/dist/cjs/limel-flatpickr-adapter.cjs.entry.js +1 -1
- package/dist/cjs/limel-form.cjs.entry.js +17 -43
- package/dist/cjs/limel-list-item.cjs.entry.js +1 -1
- package/dist/cjs/limel-picker.cjs.entry.js +1 -1
- package/dist/cjs/limel-profile-picture.cjs.entry.js +1 -1
- package/dist/cjs/limel-prosemirror-adapter.cjs.entry.js +40 -40
- package/dist/cjs/limel-slider.cjs.entry.js +140 -16
- package/dist/cjs/limel-snackbar.cjs.entry.js +1 -1
- package/dist/cjs/limel-table.cjs.entry.js +1 -1
- package/dist/cjs/limel-text-editor-link-menu.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/{translations-Bnw00bkf.js → translations-Do_D3pxu.js} +39 -2
- package/dist/collection/components/slider/slider.css +95 -0
- package/dist/collection/components/slider/slider.js +174 -21
- package/dist/collection/global/translations.js +15 -2
- package/dist/collection/translations/da.js +3 -0
- package/dist/collection/translations/de.js +3 -0
- package/dist/collection/translations/en.js +3 -0
- package/dist/collection/translations/fi.js +3 -0
- package/dist/collection/translations/fr.js +3 -0
- package/dist/collection/translations/nl.js +3 -0
- package/dist/collection/translations/no.js +3 -0
- package/dist/collection/translations/sv.js +3 -0
- package/dist/esm/lime-elements.js +1 -1
- package/dist/esm/limel-action-bar_3.entry.js +1 -1
- package/dist/esm/limel-ai-avatar.entry.js +1 -1
- package/dist/esm/limel-callout.entry.js +1 -1
- package/dist/esm/limel-chart.entry.js +1 -1
- package/dist/esm/limel-chip-set.entry.js +1 -1
- package/dist/esm/limel-chip_2.entry.js +1 -1
- package/dist/esm/limel-code-diff.entry.js +1 -1
- package/dist/esm/limel-code-editor.entry.js +1 -1
- package/dist/esm/limel-collapsible-section.entry.js +1 -1
- package/dist/esm/limel-drag-handle.entry.js +1 -1
- package/dist/esm/limel-email-viewer.entry.js +1 -1
- package/dist/esm/limel-file-viewer.entry.js +701 -345
- package/dist/esm/limel-file.entry.js +1 -1
- package/dist/esm/limel-flatpickr-adapter.entry.js +1 -1
- package/dist/esm/limel-form.entry.js +17 -43
- package/dist/esm/limel-list-item.entry.js +1 -1
- package/dist/esm/limel-picker.entry.js +1 -1
- package/dist/esm/limel-profile-picture.entry.js +1 -1
- package/dist/esm/limel-prosemirror-adapter.entry.js +40 -40
- package/dist/esm/limel-slider.entry.js +140 -16
- package/dist/esm/limel-snackbar.entry.js +1 -1
- package/dist/esm/limel-table.entry.js +1 -1
- package/dist/esm/limel-text-editor-link-menu.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{translations-Cb9R_zmF.js → translations-DgqE77nk.js} +39 -2
- package/dist/lime-elements/lime-elements.esm.js +1 -1
- package/dist/lime-elements/{p-421612f9.entry.js → p-21b54196.entry.js} +4 -4
- package/dist/lime-elements/p-3e316685.entry.js +1 -0
- package/dist/lime-elements/{p-c8116a01.entry.js → p-565f688a.entry.js} +1 -1
- package/dist/lime-elements/{p-aa080a8f.entry.js → p-5dde5d72.entry.js} +1 -1
- package/dist/lime-elements/{p-31713caf.entry.js → p-5e432a44.entry.js} +1 -1
- package/dist/lime-elements/{p-4a09fb2e.entry.js → p-62a25deb.entry.js} +1 -1
- package/dist/lime-elements/{p-8aa4a38e.entry.js → p-72a1d432.entry.js} +1 -1
- package/dist/lime-elements/{p-9a04a686.entry.js → p-83bdbaf7.entry.js} +1 -1
- package/dist/lime-elements/{p-ca0b86ee.entry.js → p-8c3798ee.entry.js} +1 -1
- package/dist/lime-elements/{p-8aeeeb53.entry.js → p-8cf79fa1.entry.js} +1 -1
- package/dist/lime-elements/{p-7487d65d.entry.js → p-9ed9d0de.entry.js} +1 -1
- package/dist/lime-elements/p-DgqE77nk.js +1 -0
- package/dist/lime-elements/{p-2284caa7.entry.js → p-a6500046.entry.js} +1 -1
- package/dist/lime-elements/{p-e545c9e8.entry.js → p-b04c6602.entry.js} +1 -1
- package/dist/lime-elements/{p-d97df2cd.entry.js → p-b4b43404.entry.js} +1 -1
- package/dist/lime-elements/p-b6528083.entry.js +1 -0
- package/dist/lime-elements/{p-6722e6e2.entry.js → p-cafebc7d.entry.js} +1 -1
- package/dist/lime-elements/{p-2f223e46.entry.js → p-cdcd9880.entry.js} +1 -1
- package/dist/lime-elements/{p-2e5d5e79.entry.js → p-dd116bb1.entry.js} +1 -1
- package/dist/lime-elements/{p-d7bb4310.entry.js → p-dda63b8b.entry.js} +1 -1
- package/dist/lime-elements/{p-7f7e2180.entry.js → p-e8783848.entry.js} +1 -1
- package/dist/lime-elements/{p-19c81ded.entry.js → p-eeddce38.entry.js} +1 -1
- package/dist/lime-elements/{p-9ae7d11b.entry.js → p-f53d8bda.entry.js} +1 -1
- package/dist/lime-elements/{p-03fd2181.entry.js → p-fa4edcf5.entry.js} +1 -1
- package/dist/types/components/slider/slider.d.ts +67 -4
- package/dist/types/components.d.ts +25 -10
- package/dist/types/translations/da.d.ts +3 -0
- package/dist/types/translations/de.d.ts +3 -0
- package/dist/types/translations/en.d.ts +3 -0
- package/dist/types/translations/fi.d.ts +3 -0
- package/dist/types/translations/fr.d.ts +3 -0
- package/dist/types/translations/nl.d.ts +3 -0
- package/dist/types/translations/no.d.ts +3 -0
- package/dist/types/translations/sv.d.ts +3 -0
- package/package.json +9 -9
- package/dist/lime-elements/p-Cb9R_zmF.js +0 -1
- package/dist/lime-elements/p-ee58f0b4.entry.js +0 -1
- package/dist/lime-elements/p-f51b5651.entry.js +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DYg_7kkT.js');
|
|
4
|
-
var translations = require('./translations-
|
|
4
|
+
var translations = require('./translations-Do_D3pxu.js');
|
|
5
5
|
var fileMetadata = require('./file-metadata-BrhOssGG.js');
|
|
6
6
|
var formatBytes = require('./format-bytes-CpUKKU86.js');
|
|
7
7
|
var imageResize = require('./image-resize-CG2fitJT.js');
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DYg_7kkT.js');
|
|
4
|
-
var translations = require('./translations-
|
|
4
|
+
var translations = require('./translations-Do_D3pxu.js');
|
|
5
5
|
var _commonjsHelpers = require('./_commonjsHelpers-CFO10eej.js');
|
|
6
6
|
require('./sv-BSR4W58y.js');
|
|
7
7
|
var moment = require('./moment-CqRdiK10.js');
|
|
@@ -29155,8 +29155,15 @@ function NullField(props) {
|
|
|
29155
29155
|
return null;
|
|
29156
29156
|
}
|
|
29157
29157
|
|
|
29158
|
-
//
|
|
29158
|
+
// Matches a string that ends in a . character, optionally followed by a sequence of
|
|
29159
|
+
// digits followed by any number of 0 characters up until the end of the line.
|
|
29160
|
+
// Ensuring that there is at least one prefixed character is important so that
|
|
29161
|
+
// you don't incorrectly match against "0".
|
|
29159
29162
|
const trailingCharMatcherWithPrefix = /\.([0-9]*0)*$/;
|
|
29163
|
+
// This is used for trimming the trailing 0 and . characters without affecting
|
|
29164
|
+
// the rest of the string. Its possible to use one RegEx with groups for this
|
|
29165
|
+
// functionality, but it is fairly complex compared to simply defining two
|
|
29166
|
+
// different matchers.
|
|
29160
29167
|
const trailingCharMatcher = /[0.]0*$/;
|
|
29161
29168
|
/**
|
|
29162
29169
|
* The NumberField class has some special handling for dealing with trailing
|
|
@@ -29179,8 +29186,6 @@ function NumberField(props) {
|
|
|
29179
29186
|
const { registry, onChange, formData, value: initialValue } = props;
|
|
29180
29187
|
const [lastValue, setLastValue] = reactExports.useState(initialValue);
|
|
29181
29188
|
const { StringField } = registry.fields;
|
|
29182
|
-
const separator = getDecimalSeparator();
|
|
29183
|
-
const escapedSeparator = separator === '.' ? '\\.' : separator;
|
|
29184
29189
|
let value = formData;
|
|
29185
29190
|
/** Handle the change from the `StringField` to properly convert to a number
|
|
29186
29191
|
*
|
|
@@ -29189,11 +29194,9 @@ function NumberField(props) {
|
|
|
29189
29194
|
const handleChange = reactExports.useCallback((newValue, path, errorSchema, id) => {
|
|
29190
29195
|
// Cache the original value in component state
|
|
29191
29196
|
setLastValue(newValue);
|
|
29192
|
-
// Convert locale separator to standard '.' first
|
|
29193
|
-
const standardValue = typeof newValue === 'string' ? newValue.replace(separator, '.') : newValue;
|
|
29194
29197
|
// Normalize decimals that don't start with a zero character in advance so
|
|
29195
29198
|
// that the rest of the normalization logic is simpler
|
|
29196
|
-
const normalizedValue = `${
|
|
29199
|
+
const normalizedValue = `${newValue}`.startsWith('.') ? `0${newValue}` : newValue;
|
|
29197
29200
|
// Check that the value is a string (this can happen if the widget used is a
|
|
29198
29201
|
// <select>, due to an enum declaration etc) then, if the value ends in a
|
|
29199
29202
|
// trailing decimal point or multiple zeroes, strip the trailing values
|
|
@@ -29201,33 +29204,19 @@ function NumberField(props) {
|
|
|
29201
29204
|
? asNumber(normalizedValue.replace(trailingCharMatcher, ''))
|
|
29202
29205
|
: asNumber(normalizedValue);
|
|
29203
29206
|
onChange(processed, path, errorSchema, id);
|
|
29204
|
-
}, [onChange
|
|
29207
|
+
}, [onChange]);
|
|
29205
29208
|
if (typeof lastValue === 'string' && typeof value === 'number') {
|
|
29206
29209
|
// Construct a regular expression that checks for a string that consists
|
|
29207
|
-
// of the formData value suffixed with zero or one
|
|
29210
|
+
// of the formData value suffixed with zero or one '.' characters and zero
|
|
29208
29211
|
// or more '0' characters
|
|
29209
|
-
const re = new RegExp(`^(${String(value).replace('.',
|
|
29212
|
+
const re = new RegExp(`^(${String(value).replace('.', '\\.')})?\\.?0*$`);
|
|
29210
29213
|
// If the cached "lastValue" is a match, use that instead of the formData
|
|
29211
29214
|
// value to prevent the input value from changing in the UI
|
|
29212
29215
|
if (lastValue.match(re)) {
|
|
29213
29216
|
value = lastValue;
|
|
29214
29217
|
}
|
|
29215
29218
|
}
|
|
29216
|
-
|
|
29217
|
-
let displayValue = value;
|
|
29218
|
-
if (typeof value === 'number' && separator !== '.') {
|
|
29219
|
-
const { schema, uiSchema } = props;
|
|
29220
|
-
const { schemaUtils } = registry;
|
|
29221
|
-
const enumOptions = schemaUtils.isSelect(schema) ? optionsList(schema, uiSchema) : undefined;
|
|
29222
|
-
const defaultWidget = enumOptions ? 'select' : 'text';
|
|
29223
|
-
const { widget = defaultWidget } = getUiOptions(uiSchema);
|
|
29224
|
-
// Do not convert the value to a locale-specific string for radio, select,
|
|
29225
|
-
// or hidden widgets because option matching relies on the original numeric value.
|
|
29226
|
-
if (widget !== 'radio' && widget !== 'select' && widget !== 'hidden') {
|
|
29227
|
-
displayValue = String(value).replace('.', separator);
|
|
29228
|
-
}
|
|
29229
|
-
}
|
|
29230
|
-
return jsxRuntimeExports.jsx(StringField, { ...props, formData: displayValue, onChange: handleChange });
|
|
29219
|
+
return jsxRuntimeExports.jsx(StringField, { ...props, formData: value, onChange: handleChange });
|
|
29231
29220
|
}
|
|
29232
29221
|
|
|
29233
29222
|
var q={af:"\u2061",applyfunction:"\u2061",ic:"\u2063",invisiblecomma:"\u2063",invisibletimes:"\u2062",it:"\u2062",lrm:"\u200E",negativemediumspace:"\u200B",negativethickspace:"\u200B",negativethinspace:"\u200B",negativeverythinspace:"\u200B",nobreak:"\u2060",rlm:"\u200F",shy:"\xAD",zerowidthspace:"\u200B",zwj:"\u200D",zwnj:"\u200C",downbreve:"\u0311",tdot:"\u20DB",tripledot:"\u20DB",dotdot:"\u20DC",tab:" ",newline:`
|
|
@@ -29320,12 +29309,6 @@ function getDefaultValue(translateString, type) {
|
|
|
29320
29309
|
return translateString(TranslatableString.NewStringDefault);
|
|
29321
29310
|
}
|
|
29322
29311
|
}
|
|
29323
|
-
function isAdditionalPropertySchema(schema) {
|
|
29324
|
-
return Boolean(schema?.[ADDITIONAL_PROPERTY_FLAG]);
|
|
29325
|
-
}
|
|
29326
|
-
function getAdditionalPropertyOrder(schemaProperties) {
|
|
29327
|
-
return Object.keys(schemaProperties).filter((property) => isAdditionalPropertySchema(schemaProperties[property]));
|
|
29328
|
-
}
|
|
29329
29312
|
/** The `ObjectFieldProperty` component is used to render the `SchemaField` for a child property of an object
|
|
29330
29313
|
*/
|
|
29331
29314
|
function ObjectFieldPropertyFn(props) {
|
|
@@ -29390,15 +29373,10 @@ function ObjectField$1(props) {
|
|
|
29390
29373
|
formDataRef.current = formData;
|
|
29391
29374
|
const schema = reactExports.useMemo(() => schemaUtils.retrieveSchema(rawSchema, formData, true), [schemaUtils, rawSchema, formData]);
|
|
29392
29375
|
const uiOptions = reactExports.useMemo(() => getUiOptions(uiSchema, globalUiOptions), [uiSchema, globalUiOptions]);
|
|
29393
|
-
const schemaProperties =
|
|
29376
|
+
const { properties: schemaProperties = {} } = schema;
|
|
29394
29377
|
// All the children will use childFieldPathId if present in the props, falling back to the fieldPathId
|
|
29395
29378
|
const childFieldPathId = props.childFieldPathId ?? fieldPathId;
|
|
29396
29379
|
const lastRenamedProperty = reactExports.useRef({ previousKey: '', currentKey: undefined });
|
|
29397
|
-
const [additionalPropertyOrder, setAdditionalPropertyOrder] = reactExports.useState(() => getAdditionalPropertyOrder(schemaProperties));
|
|
29398
|
-
const definedPropertyOrder = reactExports.useMemo(() => {
|
|
29399
|
-
const additionalPropertySet = new Set(getAdditionalPropertyOrder(schemaProperties));
|
|
29400
|
-
return Object.keys(schemaProperties).filter((property) => !additionalPropertySet.has(property));
|
|
29401
|
-
}, [schemaProperties]);
|
|
29402
29380
|
const templateTitle = uiOptions.title ?? schema.title ?? title ?? name;
|
|
29403
29381
|
const description = uiOptions.description ?? schema.description;
|
|
29404
29382
|
const renderOptionalField = shouldRenderOptionalField(registry, schema, required, uiSchema);
|
|
@@ -29461,7 +29439,6 @@ function ObjectField$1(props) {
|
|
|
29461
29439
|
lastRenamedProperty.current.currentKey = newKey;
|
|
29462
29440
|
lastRenamedProperty.current.previousKey = getAvailableKey(newKey, newFormData);
|
|
29463
29441
|
}
|
|
29464
|
-
setAdditionalPropertyOrder((order) => [...order, newKey]);
|
|
29465
29442
|
onChange(newFormData, childFieldPathId.path);
|
|
29466
29443
|
}, [formData, onChange, translateString, schemaUtils, childFieldPathId, getAvailableKey, schema]);
|
|
29467
29444
|
/** Returns a callback function that deals with the rename of a key for an additional property for a schema. That
|
|
@@ -29490,7 +29467,6 @@ function ObjectField$1(props) {
|
|
|
29490
29467
|
lastRenamedProperty.current.previousKey = oldKey;
|
|
29491
29468
|
}
|
|
29492
29469
|
lastRenamedProperty.current.currentKey = actualNewKey;
|
|
29493
|
-
setAdditionalPropertyOrder((order) => order.map((property) => (property === oldKey ? actualNewKey : property)));
|
|
29494
29470
|
onChange(renamedObj, childFieldPathId.path);
|
|
29495
29471
|
}
|
|
29496
29472
|
}, [onChange, childFieldPathId, getAvailableKey]);
|
|
@@ -29498,7 +29474,6 @@ function ObjectField$1(props) {
|
|
|
29498
29474
|
* value for the path plus the key to be removed
|
|
29499
29475
|
*/
|
|
29500
29476
|
const handleRemoveProperty = reactExports.useCallback((key) => {
|
|
29501
|
-
setAdditionalPropertyOrder((order) => order.filter((property) => property !== key));
|
|
29502
29477
|
onChange(ADDITIONAL_PROPERTY_KEY_REMOVE, [...childFieldPathId.path, key]);
|
|
29503
29478
|
}, [onChange, childFieldPathId]);
|
|
29504
29479
|
/** Returns the stable React key for a property. For the most recently renamed
|
|
@@ -29514,9 +29489,8 @@ function ObjectField$1(props) {
|
|
|
29514
29489
|
}, []);
|
|
29515
29490
|
if (!renderOptionalField || hasFormData) {
|
|
29516
29491
|
try {
|
|
29517
|
-
const
|
|
29518
|
-
|
|
29519
|
-
orderedProperties = orderProperties([...definedPropertyOrder, ...currentAdditionalProperties], uiOptions.order);
|
|
29492
|
+
const properties = Object.keys(schemaProperties);
|
|
29493
|
+
orderedProperties = orderProperties(properties, uiOptions.order);
|
|
29520
29494
|
}
|
|
29521
29495
|
catch (err) {
|
|
29522
29496
|
return (jsxRuntimeExports.jsxs("div", { children: [jsxRuntimeExports.jsx("p", { className: 'rjsf-config-error', style: { color: 'red' }, children: jsxRuntimeExports.jsx(AZ, { options: { disableParsingRawHTML: true }, children: translateString(TranslatableString.InvalidObjectField, [name || 'root', err.message]) }) }), jsxRuntimeExports.jsx("pre", { children: JSON.stringify(schema) })] }));
|
|
@@ -29529,7 +29503,7 @@ function ObjectField$1(props) {
|
|
|
29529
29503
|
title: uiOptions.label === false ? '' : templateTitle,
|
|
29530
29504
|
description: uiOptions.label === false ? undefined : description,
|
|
29531
29505
|
properties: orderedProperties.map((propertyName) => {
|
|
29532
|
-
const addedByAdditionalProperties =
|
|
29506
|
+
const addedByAdditionalProperties = Boolean(schema.properties?.[propertyName]?.[ADDITIONAL_PROPERTY_FLAG]);
|
|
29533
29507
|
const fieldUiSchema = addedByAdditionalProperties ? uiSchema.additionalProperties : uiSchema[propertyName];
|
|
29534
29508
|
const hidden = getUiOptions(fieldUiSchema).widget === 'hidden';
|
|
29535
29509
|
const content = (jsxRuntimeExports.jsx(ObjectFieldProperty, { propertyName: propertyName, required: isRequired(schema, propertyName), schema: _baseIteratee.get(schema, [PROPERTIES_KEY, propertyName], {}), uiSchema: fieldUiSchema, errorSchema: _baseIteratee.get(errorSchema, [propertyName]), fieldPathId: childFieldPathId, formData: _baseIteratee.get(formData, [propertyName]), handleKeyRename: handleKeyRename, handleRemoveProperty: handleRemoveProperty, addedByAdditionalProperties: addedByAdditionalProperties, onChange: onChange, onBlur: onBlur, onFocus: onFocus, registry: registry, disabled: disabled, readonly: readonly, hideError: hideError }, getStableKey(propertyName)));
|
|
@@ -5,7 +5,7 @@ var getIconProps = require('./get-icon-props-CwpDdQDI.js');
|
|
|
5
5
|
var randomString = require('./random-string-BTzDB2ee.js');
|
|
6
6
|
var renderListComponent = require('./render-list-component-1GrRKk_R.js');
|
|
7
7
|
var checkbox_template = require('./checkbox.template-BewtdTin.js');
|
|
8
|
-
var translations = require('./translations-
|
|
8
|
+
var translations = require('./translations-Do_D3pxu.js');
|
|
9
9
|
var image_template = require('./image.template-DZC6_5a4.js');
|
|
10
10
|
|
|
11
11
|
const listItemCss = () => `@charset "UTF-8";*,*:before,*:after{box-sizing:border-box}.boolean-input{--limel-boolean-input-box-size:1.25rem;--limel-boolean-input-gap-size:0.5rem;position:relative;isolation:isolate;display:flex;align-items:center;min-height:var(--limel-checkbox-min-height, 2.5rem);width:100%}.boolean-input input[type=checkbox],.boolean-input input[type=radio]{position:absolute;width:0;height:0;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;-webkit-appearance:none;-moz-appearance:none;appearance:none}label.boolean-input-label{min-width:var(--limel-boolean-input-box-size);min-height:var(--limel-boolean-input-box-size);padding-top:0.125rem;cursor:pointer;position:relative;width:100%;overflow-wrap:var(--limel-boolean-input-label-overflow-wrap, normal);font-size:var(--limel-theme-default-small-font-size);color:var(--limel-theme-text-primary-on-background-color);padding-left:calc(var(--limel-boolean-input-box-size) + var(--limel-boolean-input-gap-size))}.disabled:not([readonly]):not([readonly=true]) label.boolean-input-label{cursor:not-allowed;color:var(--limel-theme-text-disabled-color)}.required label.boolean-input-label:after{margin-left:0.0625rem;content:"*"}.invalid:not(.readonly) label.boolean-input-label{color:var(--limel-theme-error-text-color)}:host(limel-checkbox.hide-label) label.boolean-input-label,.hide-label label.boolean-input-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0;width:var(--limel-boolean-input-box-size)}.box{position:absolute;pointer-events:none;transition:border-color 0.4s ease 0.2s, background-color 0.2s ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease;display:inline-block;vertical-align:middle;width:var(--limel-boolean-input-box-size);height:var(--limel-boolean-input-box-size);margin-right:var(--limel-boolean-input-gap-size);border-radius:var(--limel-boolean-input-box-border-radius);border:0.125rem solid;border-color:var(--checkbox-unchecked-border-color, rgb(var(--contrast-900)));background-color:var(--limel-checkbox-background-color, rgb(var(--contrast-300)));}.checked .box,.boolean-input>input[type=checkbox]:checked+.box,.boolean-input>input[type=radio]:checked+.box{background-color:var(--lime-primary-color, var(--limel-theme-primary-color));border-color:var(--lime-primary-color, var(--limel-theme-primary-color))}.disabled .box{opacity:0.4}.box{}.boolean-input:not(.disabled):hover .box{will-change:box-shadow;box-shadow:var(--button-shadow-hovered)}.boolean-input:not(.disabled):active .box{will-change:box-shadow;box-shadow:var(--button-shadow-pressed)}.box:before{transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);content:"";position:absolute;inset:-0.1875rem;border-radius:inherit;}.boolean-input>input[type=checkbox]:focus-visible+.box:before,.boolean-input>input[type=radio]:focus-visible+.box:before{will-change:box-shadow;box-shadow:var(--shadow-depth-8-focused)}.box:after{transition:opacity 0.2s ease, width 0.4s ease, box-shadow 0.6s cubic-bezier(0.68, -0.55, 0, 1.87), transform 0.6s cubic-bezier(0.68, -0.55, 0, 1.87);content:"";position:absolute;inset:0;margin:auto;border-radius:1rem;opacity:0;background-color:rgb(var(--color-white));}.boolean-input:not(.disabled):hover .box:after{will-change:opacity, box-shadow, transform, width}:host(limel-checkbox){--limel-boolean-input-label-overflow-wrap:var( --checkbox-label-overflow-wrap, normal );min-height:var(--limel-checkbox-min-height, 2.5rem)}.box:after{height:0.125rem;width:0.25rem}.indeterminate .box:after{opacity:1;width:calc(var(--limel-boolean-input-box-size) - 0.5rem)}.checkbox{--limel-boolean-input-box-border-radius:0.25rem}.checkbox svg.check-mark{position:absolute;z-index:1;inset:0;transform:translate3d(-0.125rem, -0.125rem, 0);width:var(--limel-boolean-input-box-size);height:var(--limel-boolean-input-box-size);padding:0.25rem;color:rgb(var(--color-white));opacity:0;stroke-width:0.1875rem;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round}.checkbox svg.check-mark path{stroke-dashoffset:29.7833;stroke-dasharray:29.7833;transition:stroke-dashoffset 180ms cubic-bezier(0.4, 0, 0.6, 1)}.checkbox{}.checkbox:not(.indeterminate)>input[type=checkbox]:checked+.box svg.check-mark{opacity:1}.checkbox:not(.indeterminate)>input[type=checkbox]:checked+.box svg.check-mark path{stroke-dashoffset:0}limel-dynamic-label{margin-top:0.375rem;margin-left:-0.25rem}:host(limel-checkbox:focus),:host(limel-checkbox:focus-visible),:host(limel-checkbox:focus-within){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limel-checkbox){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limel-checkbox:focus) limel-helper-line,:host(limel-checkbox:focus-visible) limel-helper-line,:host(limel-checkbox:focus-within) limel-helper-line,:host(limel-checkbox:hover) limel-helper-line{will-change:grid-template-rows}*,*:before,*:after{box-sizing:border-box}limel-list-item{min-height:2.5rem}limel-list-item:focus{outline:none}limel-list-item:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}limel-list-item{transition:background-color 0.6s ease;position:relative;isolation:isolate;display:flex;align-items:center;gap:0.5rem;padding:0 1rem;background-color:rgb(var(--contrast-100))}limel-list-item:hover{z-index:1;transition:background-color 0.2s ease;border-radius:0.5rem}limel-list-item:focus,limel-list-item:focus-visible,limel-list-item:active{z-index:1;border-radius:0.5rem}limel-list-item:first-of-type{border-top-left-radius:0.5rem;border-top-right-radius:0.5rem}limel-list-item:last-of-type{border-bottom-left-radius:0.5rem;border-bottom-right-radius:0.5rem}limel-list-item:not([disabled]):not([disabled=true]){cursor:pointer}limel-list-item[disabled]:not([disabled=false]){cursor:not-allowed}limel-list-item[disabled]:not([disabled=false]){cursor:not-allowed}limel-list-item[disabled]:not([disabled=false]) .text,limel-list-item[disabled]:not([disabled=false]) limel-icon,limel-list-item[disabled]:not([disabled=false]) img,limel-list-item[disabled]:not([disabled=false]) .boolean-input{opacity:0.4}limel-list-item:not([disabled]):not([disabled=true]):hover,limel-list-item:not([disabled]):not([disabled=true]):focus-visible{background-color:rgb(var(--contrast-400))}limel-list-item[type=option]:before{transition:background-color 0.6s ease;content:"";position:absolute;inset:0;opacity:0.2;border-radius:0.5rem}limel-list-item[type=option][selected]:not([selected=false]):before{transition:background-color 0.2s ease;background-color:var(--mdc-theme-primary)}limel-list-item .text{flex-grow:1;min-width:0;display:flex;flex-direction:column;padding:0.5rem 0;color:var(--limel-theme-text-primary-on-background-color)}limel-list-item .label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--limel-theme-default-font-size);line-height:1rem}limel-list-item .description{display:-webkit-box;overflow:hidden;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:var(--maxLinesSecondaryText);line-height:1rem;font-size:var(--limel-theme-default-small-font-size);opacity:0.6}limel-list-item limel-icon{color:var(--limel-theme-text-secondary-on-background-color);flex-shrink:0;margin-left:-0.5rem}limel-list-item limel-icon:has(+img){margin-left:0;position:absolute;top:0.125rem;left:0.125rem;padding:0.1875rem;width:1.25rem;background-color:rgb(var(--contrast-200), 0.8)}limel-list-item img{flex-shrink:0;object-fit:var(--list-item-image-object-fit, cover);border-radius:var(--list-item-image-border-radius, 50%);width:2rem;height:2rem;box-shadow:0 0 0 1px rgb(var(--contrast-800), 0.5)}limel-list-item limel-menu{margin-right:-0.5rem;order:var(--limel-list-item-menu-order, 3)}limel-list-item[role=menuitem] limel-list-item .label{font-size:var(--limel-theme-default-small-font-size)}.boolean-input,limel-radio-button{width:var(--limel-boolean-input-box-size) !important;margin-left:-0.25rem !important}.boolean-input.checkbox{margin-right:0.25rem}limel-list-item:has(limel-icon) .boolean-input,limel-list-item:has(img) .boolean-input{margin-right:-0.25rem;margin-left:0;order:2}.boolean-input .boolean-input-label{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;opacity:0;width:var(--limel-boolean-input-box-size)}`;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DYg_7kkT.js');
|
|
4
|
-
var translations = require('./translations-
|
|
4
|
+
var translations = require('./translations-Do_D3pxu.js');
|
|
5
5
|
var dom = require('./dom-BWMDM6En.js');
|
|
6
6
|
var keycodes = require('./keycodes-k-EdzcMX.js');
|
|
7
7
|
var randomString = require('./random-string-BTzDB2ee.js');
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
var index = require('./index-DYg_7kkT.js');
|
|
4
4
|
var files = require('./files-DI4jItxi.js');
|
|
5
5
|
var getIconProps = require('./get-icon-props-CwpDdQDI.js');
|
|
6
|
-
var translations = require('./translations-
|
|
6
|
+
var translations = require('./translations-Do_D3pxu.js');
|
|
7
7
|
var randomString = require('./random-string-BTzDB2ee.js');
|
|
8
8
|
var imageResize = require('./image-resize-CG2fitJT.js');
|
|
9
9
|
var image_template = require('./image.template-DZC6_5a4.js');
|
|
@@ -4,7 +4,7 @@ var index$1 = require('./index-DYg_7kkT.js');
|
|
|
4
4
|
var types = require('./types-C7gNcwzE.js');
|
|
5
5
|
var markdownParser = require('./markdown-parser-YH5HSSgF.js');
|
|
6
6
|
var cloneDeep = require('./cloneDeep-hE40Q8aw.js');
|
|
7
|
-
var translations = require('./translations-
|
|
7
|
+
var translations = require('./translations-Do_D3pxu.js');
|
|
8
8
|
var index = require('./index-ETPz91V5.js');
|
|
9
9
|
var randomString = require('./random-string-BTzDB2ee.js');
|
|
10
10
|
var isItem = require('./is-item-DMELyaao.js');
|
|
@@ -23296,34 +23296,6 @@ class MarkdownSerializerState {
|
|
|
23296
23296
|
let next = parent.child(index + 1);
|
|
23297
23297
|
return m.isInSet(next.marks) && (!next.isText || /\S/.test(next.text));
|
|
23298
23298
|
});
|
|
23299
|
-
let leading = trailing;
|
|
23300
|
-
trailing = "";
|
|
23301
|
-
// If whitespace has to be expelled from the node, adjust
|
|
23302
|
-
// leading and trailing accordingly.
|
|
23303
|
-
if (node && node.isText && marks.some(mark => {
|
|
23304
|
-
let info = this.getMark(mark.type.name);
|
|
23305
|
-
return info && info.expelEnclosingWhitespace && !mark.isInSet(active);
|
|
23306
|
-
})) {
|
|
23307
|
-
let [_, lead, rest] = /^(\s*)(.*)$/m.exec(node.text);
|
|
23308
|
-
if (lead) {
|
|
23309
|
-
leading += lead;
|
|
23310
|
-
node = rest ? node.withText(rest) : null;
|
|
23311
|
-
if (!node)
|
|
23312
|
-
marks = active;
|
|
23313
|
-
}
|
|
23314
|
-
}
|
|
23315
|
-
if (node && node.isText && marks.some(mark => {
|
|
23316
|
-
let info = this.getMark(mark.type.name);
|
|
23317
|
-
return info && info.expelEnclosingWhitespace && !this.isMarkAhead(parent, index + 1, mark);
|
|
23318
|
-
})) {
|
|
23319
|
-
let [_, rest, trail] = /^(.*?)(\s*)$/m.exec(node.text);
|
|
23320
|
-
if (trail) {
|
|
23321
|
-
trailing = trail;
|
|
23322
|
-
node = rest ? node.withText(rest) : null;
|
|
23323
|
-
if (!node)
|
|
23324
|
-
marks = active;
|
|
23325
|
-
}
|
|
23326
|
-
}
|
|
23327
23299
|
let inner = marks.length ? marks[marks.length - 1] : null;
|
|
23328
23300
|
let noEsc = inner && this.getMark(inner.type.name).escape === false;
|
|
23329
23301
|
let len = marks.length - (noEsc ? 1 : 0);
|
|
@@ -23352,9 +23324,38 @@ class MarkdownSerializerState {
|
|
|
23352
23324
|
let keep = 0;
|
|
23353
23325
|
while (keep < Math.min(active.length, len) && marks[keep].eq(active[keep]))
|
|
23354
23326
|
++keep;
|
|
23327
|
+
let leading = trailing;
|
|
23328
|
+
trailing = "";
|
|
23329
|
+
// If whitespace has to be expelled from the node, adjust
|
|
23330
|
+
// leading and trailing accordingly.
|
|
23331
|
+
if (node && node.isText && marks.some(mark => {
|
|
23332
|
+
let info = this.getMark(mark.type.name);
|
|
23333
|
+
return info && info.expelEnclosingWhitespace && !active.some((m, i) => i < keep && m.eq(mark));
|
|
23334
|
+
})) {
|
|
23335
|
+
let [_, lead, rest] = /^(\s*)(.*)$/m.exec(node.text);
|
|
23336
|
+
if (lead) {
|
|
23337
|
+
leading += lead;
|
|
23338
|
+
node = rest ? node.withText(rest) : null;
|
|
23339
|
+
if (!node)
|
|
23340
|
+
marks = active;
|
|
23341
|
+
}
|
|
23342
|
+
}
|
|
23343
|
+
if (node && node.isText && marks.some(mark => {
|
|
23344
|
+
let info = this.getMark(mark.type.name);
|
|
23345
|
+
return info && info.expelEnclosingWhitespace && !this.isMarkAhead(parent, index + 1, mark);
|
|
23346
|
+
})) {
|
|
23347
|
+
let [_, rest, trail] = /^(.*?)(\s*)$/m.exec(node.text);
|
|
23348
|
+
if (trail) {
|
|
23349
|
+
trailing = trail;
|
|
23350
|
+
node = rest ? node.withText(rest) : null;
|
|
23351
|
+
if (!node)
|
|
23352
|
+
marks = active;
|
|
23353
|
+
}
|
|
23354
|
+
}
|
|
23355
23355
|
// Close the marks that need to be closed
|
|
23356
|
-
|
|
23357
|
-
|
|
23356
|
+
if (node || index == parent.childCount)
|
|
23357
|
+
while (keep < active.length)
|
|
23358
|
+
this.text(this.markString(active.pop(), false, parent, index), false);
|
|
23358
23359
|
// Output any previously expelled trailing whitespace outside the marks
|
|
23359
23360
|
if (leading)
|
|
23360
23361
|
this.text(leading);
|
|
@@ -23374,15 +23375,14 @@ class MarkdownSerializerState {
|
|
|
23374
23375
|
else
|
|
23375
23376
|
this.render(node, parent, index);
|
|
23376
23377
|
this.atBlockStart = false;
|
|
23377
|
-
|
|
23378
|
-
|
|
23379
|
-
|
|
23380
|
-
|
|
23381
|
-
|
|
23382
|
-
|
|
23383
|
-
|
|
23384
|
-
|
|
23385
|
-
this.atBlockStart = false;
|
|
23378
|
+
// After the first non-empty text node is rendered, the end of output
|
|
23379
|
+
// is no longer at block start.
|
|
23380
|
+
//
|
|
23381
|
+
// FIXME: If a non-text node writes something to the output for this
|
|
23382
|
+
// block, the end of output is also no longer at block start. But how
|
|
23383
|
+
// can we detect that?
|
|
23384
|
+
if (node.isText && node.nodeSize > 0)
|
|
23385
|
+
this.atBlockStart = false;
|
|
23386
23386
|
}
|
|
23387
23387
|
};
|
|
23388
23388
|
parent.forEach(progress);
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var index = require('./index-DYg_7kkT.js');
|
|
4
4
|
var randomString = require('./random-string-BTzDB2ee.js');
|
|
5
|
+
var translations = require('./translations-Do_D3pxu.js');
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
*
|
|
@@ -50,12 +51,23 @@ function getPercentageClass(value) {
|
|
|
50
51
|
return 'percent-90-100';
|
|
51
52
|
}
|
|
52
53
|
|
|
53
|
-
const sliderCss = () => `@charset "UTF-8";:host([displays-percentage-colors].percent-0){--lime-primary-color:var(--color-percent--0)}:host([displays-percentage-colors].percent-0-10){--lime-primary-color:var(--color-percent--0to10)}:host([displays-percentage-colors].percent-10-20){--lime-primary-color:var(--color-percent--10to20)}:host([displays-percentage-colors].percent-20-30){--lime-primary-color:var(--color-percent--20to30)}:host([displays-percentage-colors].percent-30-40){--lime-primary-color:var(--color-percent--30to40)}:host([displays-percentage-colors].percent-40-50){--lime-primary-color:var(--color-percent--40to50)}:host([displays-percentage-colors].percent-50-60){--lime-primary-color:var(--color-percent--50to60)}:host([displays-percentage-colors].percent-60-70){--lime-primary-color:var(--color-percent--60to70)}:host([displays-percentage-colors].percent-70-80){--lime-primary-color:var(--color-percent--70to80)}:host([displays-percentage-colors].percent-80-90){--lime-primary-color:var(--color-percent--80to90)}:host([displays-percentage-colors].percent-90-100){--lime-primary-color:var(--color-percent--90to100)}:host([displays-percentage-colors].percent-30-40) .indicator,:host([displays-percentage-colors].percent-40-50) .indicator,:host([displays-percentage-colors].percent-70-80) .indicator{color:rgb(var(--color-gray-darker))}:host([displays-percentage-colors].percent-50-60) .indicator,:host([displays-percentage-colors].percent-60-70) .indicator{color:rgb(var(--color-gray-dark))}:host([readonly]:not([readonly=false])) input[type=range]{cursor:default}:host([readonly]:not([readonly=false])) .track,:host([readonly]:not([readonly=false])) .active,:host([readonly]:not([readonly=false])) .indicator{height:0.75rem}:host([readonly]:not([readonly=false])) .indicator{box-shadow:none}:host([readonly]:not([readonly=false])) .knob{opacity:0}:host([readonly]:not([readonly=false])) .active{background-color:var(--lime-primary-color, var(--limel-theme-primary-color))}.thumb{position:absolute;left:calc(var(--slider-fraction) * 100%);top:0;bottom:0;width:0;z-index:1}.knob{transition:border-color 0.5s ease;position:absolute;top:50%;left:0;transform:translate3d(-50%, -50%, 0);width:1.25rem;height:1.25rem;border-radius:50%;border:0.5rem solid;border-color:var(--lime-primary-color, var(--limel-theme-primary-color));background-color:rgb(var(--contrast-100))}.knob:before,.knob:after{transition:all 0.2s ease 0.2s;content:"";display:block;position:absolute;top:0;bottom:0;margin:auto;width:0;height:0;border:0.375rem solid transparent}:host([disabled]:not([disabled=false])) .knob:before,:host([disabled]:not([disabled=false])) .knob:after{content:none}.knob:before{opacity:calc(var(--slider-fraction) * 100);left:-1rem;transform:rotate(90deg)}.knob:after{opacity:calc((1 - var(--slider-fraction)) * 100);right:-1rem;transform:rotate(-90deg)}.slider:hover .knob,.slider:has(input[type=range]:active) .knob,.slider:has(input[type=range]:focus) .knob{box-shadow:var(--button-shadow-normal)}.slider:hover .knob:before,.slider:has(input[type=range]:active) .knob:before,.slider:has(input[type=range]:focus) .knob:before{left:-1.5rem;border-top-color:rgb(var(--contrast-1400), 0.5)}.slider:hover .knob:after,.slider:has(input[type=range]:active) .knob:after,.slider:has(input[type=range]:focus) .knob:after{right:-1.5rem;border-top-color:rgb(var(--contrast-1400), 0.5)}.indicator{user-select:none;position:absolute;left:0;top:50%;z-index:1;transform:translate3d(-50%, -50%, 0);transform-origin:bottom center;transition:transform 0.2s ease-out, box-shadow 0.2s ease-out, background-color 0.5s ease;border-radius:1.25rem;padding:0 0.375rem;height:1.25rem;display:flex;align-items:center;white-space:nowrap;color:rgb(var(--color-white));font-size:0.6875rem;background-color:var(--lime-primary-color, var(--limel-theme-primary-color));box-shadow:var(--button-shadow-normal)}:host(:not([disabled]):not([readonly])) input[type=range]:active~.thumb .indicator,:host(:not([disabled]):not([readonly])) input[type=range]:focus~.thumb .indicator{transform:translate3d(-50%, calc(-100% - 0.75rem), 0) scale(1.25);box-shadow:var(--shadow-depth-16)}*,*:before,*:after{box-sizing:border-box;min-width:0;min-height:0}:host(limel-slider){box-sizing:border-box;isolation:isolate;position:relative;display:flex;flex-direction:column}:host(limel-slider:not([invalid]):not([invalid=true])) .limel-notched-outline,:host(limel-slider[disabled]:not([disabled=false])) .limel-notched-outline{--limel-notched-outline-border-color:transparent;--limel-notched-outline-background-color:transparent}div[slot=content]{display:flex;flex-direction:column;width:100%;padding:0 0.25rem}.slider{position:relative;height:2.5rem;margin:0 0.75rem}input[type=range]{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2;margin:0;appearance:none}:host([disabled]:not([disabled=false])) input[type=range]{cursor:not-allowed}:host([disabled]:not([disabled=false])) .track .active{opacity:0.5}:host([disabled]:not([disabled=false])) .indicator{border-radius:0.125rem;box-shadow:var(--button-shadow-pressed)}.track{transition:background-color 0.5s ease;display:flex;align-items:center;justify-content:space-between;position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:0.5rem;border-radius:1rem;background-color:rgba(var(--contrast-700), 0.6)}.track:before,.track:after{content:"";display:inline-block;position:absolute;top:0;bottom:0;margin:auto;width:0.375rem;height:0.375rem;border-radius:50%;background-color:rgba(var(--contrast-700), 0.6)}.track:before{left:-0.75rem}.track:after{right:-0.75rem}.track .active{transition:background-color 0.5s ease;position:absolute;height:100%;width:calc(var(--slider-fraction) * 100%);border-radius:inherit;background-color:var(--lime-primary-color, var(--limel-theme-primary-color))}.step-dot{transform:translateX(-50%);border-radius:50%;height:0.25rem;width:0.25rem;background-color:rgb(var(--contrast-100), 0.6)}.step-dot:first-of-type,.step-dot:last-of-type{opacity:0}.range-labels{display:flex;justify-content:space-between;margin-top:-0.75rem;width:100%}.range-labels .min,.range-labels .max{line-height:1;font-size:0.75rem;color:var(--limel-notched-outline-label-color, rgb(var(--contrast-1200)))}:host(limel-slider:focus),:host(limel-slider:focus-visible),:host(limel-slider:focus-within){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limel-slider){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limel-slider:focus) limel-helper-line,:host(limel-slider:focus-visible) limel-helper-line,:host(limel-slider:focus-within) limel-helper-line,:host(limel-slider:hover) limel-helper-line{will-change:grid-template-rows}`;
|
|
54
|
+
const sliderCss = () => `@charset "UTF-8";:host([displays-percentage-colors].percent-0){--lime-primary-color:var(--color-percent--0)}:host([displays-percentage-colors].percent-0-10){--lime-primary-color:var(--color-percent--0to10)}:host([displays-percentage-colors].percent-10-20){--lime-primary-color:var(--color-percent--10to20)}:host([displays-percentage-colors].percent-20-30){--lime-primary-color:var(--color-percent--20to30)}:host([displays-percentage-colors].percent-30-40){--lime-primary-color:var(--color-percent--30to40)}:host([displays-percentage-colors].percent-40-50){--lime-primary-color:var(--color-percent--40to50)}:host([displays-percentage-colors].percent-50-60){--lime-primary-color:var(--color-percent--50to60)}:host([displays-percentage-colors].percent-60-70){--lime-primary-color:var(--color-percent--60to70)}:host([displays-percentage-colors].percent-70-80){--lime-primary-color:var(--color-percent--70to80)}:host([displays-percentage-colors].percent-80-90){--lime-primary-color:var(--color-percent--80to90)}:host([displays-percentage-colors].percent-90-100){--lime-primary-color:var(--color-percent--90to100)}:host([displays-percentage-colors].percent-30-40) .indicator,:host([displays-percentage-colors].percent-40-50) .indicator,:host([displays-percentage-colors].percent-70-80) .indicator{color:rgb(var(--color-gray-darker))}:host([displays-percentage-colors].percent-50-60) .indicator,:host([displays-percentage-colors].percent-60-70) .indicator{color:rgb(var(--color-gray-dark))}:host([readonly]:not([readonly=false])) input[type=range]{cursor:default}:host([readonly]:not([readonly=false])) .track,:host([readonly]:not([readonly=false])) .active,:host([readonly]:not([readonly=false])) .indicator{height:0.75rem}:host([readonly]:not([readonly=false])) .indicator{box-shadow:none}:host([readonly]:not([readonly=false])) .knob{opacity:0}:host([readonly]:not([readonly=false])) .active{background-color:var(--lime-primary-color, var(--limel-theme-primary-color))}.thumb{position:absolute;left:calc(var(--slider-fraction) * 100%);top:0;bottom:0;width:0;z-index:1}.knob{transition:border-color 0.5s ease;position:absolute;top:50%;left:0;transform:translate3d(-50%, -50%, 0);width:1.25rem;height:1.25rem;border-radius:50%;border:0.5rem solid;border-color:var(--lime-primary-color, var(--limel-theme-primary-color));background-color:rgb(var(--contrast-100))}.knob:before,.knob:after{transition:all 0.2s ease 0.2s;content:"";display:block;position:absolute;top:0;bottom:0;margin:auto;width:0;height:0;border:0.375rem solid transparent}:host([disabled]:not([disabled=false])) .knob:before,:host([disabled]:not([disabled=false])) .knob:after{content:none}.knob:before{opacity:calc(var(--slider-fraction) * 100);left:-1rem;transform:rotate(90deg)}.knob:after{opacity:calc((1 - var(--slider-fraction)) * 100);right:-1rem;transform:rotate(-90deg)}.slider:hover .knob,.slider:has(input[type=range]:active) .knob,.slider:has(input[type=range]:focus) .knob{box-shadow:var(--button-shadow-normal)}.slider:hover .knob:before,.slider:has(input[type=range]:active) .knob:before,.slider:has(input[type=range]:focus) .knob:before{left:-1.5rem;border-top-color:rgb(var(--contrast-1400), 0.5)}.slider:hover .knob:after,.slider:has(input[type=range]:active) .knob:after,.slider:has(input[type=range]:focus) .knob:after{right:-1.5rem;border-top-color:rgb(var(--contrast-1400), 0.5)}.indicator{user-select:none;position:absolute;left:0;top:50%;z-index:1;transform:translate3d(-50%, -50%, 0);transform-origin:bottom center;transition:transform 0.2s ease-out, box-shadow 0.2s ease-out, background-color 0.5s ease;border-radius:1.25rem;padding:0 0.375rem;height:1.25rem;min-width:1.25rem;display:flex;align-items:center;justify-content:center;white-space:nowrap;color:rgb(var(--color-white));font-size:0.6875rem;background-color:var(--lime-primary-color, var(--limel-theme-primary-color));box-shadow:var(--button-shadow-normal)}:host(:not([disabled]):not([readonly])) input[type=range]:active~.thumb .indicator,:host(:not([disabled]):not([readonly])) input[type=range]:focus~.thumb .indicator{transform:translate3d(-50%, calc(-100% - 0.75rem), 0) scale(1.25);box-shadow:var(--shadow-depth-16)}*,*:before,*:after{box-sizing:border-box;min-width:0;min-height:0}:host(limel-slider){box-sizing:border-box;isolation:isolate;position:relative;display:flex;flex-direction:column}:host(limel-slider:not([invalid]):not([invalid=true])) .limel-notched-outline,:host(limel-slider[disabled]:not([disabled=false])) .limel-notched-outline{--limel-notched-outline-border-color:transparent;--limel-notched-outline-background-color:transparent}div[slot=content]{display:flex;flex-direction:column;width:100%;padding:0 0.25rem}.slider{position:relative;height:2.5rem;margin:0 0.75rem}input[type=range]{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer;z-index:2;margin:0;appearance:none}:host([disabled]:not([disabled=false])) input[type=range]{cursor:not-allowed}:host([disabled]:not([disabled=false])) .track .active{opacity:0.5}:host([disabled]:not([disabled=false])) .indicator{border-radius:0.125rem;box-shadow:var(--button-shadow-pressed)}.track{transition:background-color 0.5s ease;display:flex;align-items:center;justify-content:space-between;position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:0.5rem;border-radius:1rem;background-color:rgba(var(--contrast-700), 0.6)}.track:before,.track:after{content:"";display:inline-block;position:absolute;top:0;bottom:0;margin:auto;width:0.375rem;height:0.375rem;border-radius:50%;background-color:rgba(var(--contrast-700), 0.6)}.track:before{left:-0.75rem}.track:after{right:-0.75rem}.track .active{transition:background-color 0.5s ease;position:absolute;height:100%;width:calc(var(--slider-fraction) * 100%);border-radius:inherit;background-color:var(--lime-primary-color, var(--limel-theme-primary-color))}.step-dot{transform:translateX(-50%);border-radius:50%;height:0.25rem;width:0.25rem;background-color:rgb(var(--contrast-100), 0.6)}.step-dot:first-of-type,.step-dot:last-of-type{opacity:0}.range-labels{display:flex;justify-content:space-between;margin-top:-0.75rem;width:100%}.range-labels .min,.range-labels .max{line-height:1;font-size:0.75rem;color:var(--limel-notched-outline-label-color, rgb(var(--contrast-1200)))}:host(.has-clear-button) div[slot=content]{padding-right:calc(1rem + 0.25rem)}:host(.is-unset) .track .active{width:0}:host(.is-unset) .thumb{left:50%}button.clear-button{appearance:none;background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;text-align:inherit}button.clear-button:focus{outline:none}button.clear-button:focus-visible{outline:none;box-shadow:var(--shadow-depth-8-focused)}button.clear-button:not([disabled]){transition:color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease);cursor:pointer;color:rgb(var(--contrast-1100));background-color:rgba(var(--contrast-700), 0.6)}button.clear-button:not([disabled]):hover,button.clear-button:not([disabled]):focus,button.clear-button:not([disabled]):focus-visible{will-change:color, background-color, box-shadow, transform}button.clear-button:not([disabled]):hover,button.clear-button:not([disabled]):focus-visible{transform:translate3d(0, 0.01rem, 0);color:rgb(var(--contrast-100));background-color:rgb(var(--contrast-1000))}button.clear-button:not([disabled]):hover{box-shadow:var(--button-shadow-hovered)}button.clear-button:not([disabled]):active{--limel-clickable-transform-timing-function:cubic-bezier( 0.83, -0.15, 0.49, 1.16 );transform:translate3d(0, 0.05rem, 0);box-shadow:var(--button-shadow-pressed)}button.clear-button:not([disabled]):hover,button.clear-button:not([disabled]):active{--limel-clickable-transition-speed:0.2s;--limel-clickable-transform-speed:0.16s}button.clear-button:not([disabled]):focus-visible{background-color:rgb(var(--contrast-1000))}button.clear-button{position:absolute;inset:0.75rem 0 0 auto;display:flex;align-items:center;justify-content:center;height:1rem;width:1rem;border-radius:50%}button.clear-button svg{width:calc(1rem - 0.25rem);height:calc(1rem - 0.25rem);fill:currentColor}button.clear-button:before{content:"";position:absolute;inset:0 auto 0 0;margin:auto;height:0.125rem;width:0.25rem;background-color:rgba(var(--contrast-700), 0.6);transform:translate(-100%, 0)}button.clear-button[disabled]{color:rgb(var(--contrast-1000));background-color:rgb(var(--contrast-600));cursor:not-allowed}:host(limel-slider:focus),:host(limel-slider:focus-visible),:host(limel-slider:focus-within){--limel-h-l-grid-template-rows-transition-speed:0.46s;--limel-h-l-grid-template-rows:1fr}:host(limel-slider){--limel-h-l-grid-template-rows-transition-speed:0.3s;--limel-h-l-grid-template-rows:0fr}:host(limel-slider:focus) limel-helper-line,:host(limel-slider:focus-visible) limel-helper-line,:host(limel-slider:focus-within) limel-helper-line,:host(limel-slider:hover) limel-helper-line{will-change:grid-template-rows}`;
|
|
54
55
|
|
|
55
56
|
const DEFAULT_FACTOR = 1;
|
|
56
57
|
const DEFAULT_MAX_VALUE = 100;
|
|
57
58
|
const DEFAULT_MIN_VALUE = 0;
|
|
58
59
|
const MAX_VISIBLE_STEP_DOTS = 20;
|
|
60
|
+
/**
|
|
61
|
+
* Whether the slider holds a value at all. `Number.isFinite` is typed
|
|
62
|
+
* `(number: unknown) => boolean`, so it tests the right thing but narrows
|
|
63
|
+
* nothing; this does, which lets the unset check double as proof that what
|
|
64
|
+
* remains is a number the arithmetic can use. `null`, `undefined` and `NaN`
|
|
65
|
+
* all mean unset.
|
|
66
|
+
* @param value - the slider's `value` prop, which may not be a number.
|
|
67
|
+
*/
|
|
68
|
+
const isSetValue = (value) => {
|
|
69
|
+
return Number.isFinite(value);
|
|
70
|
+
};
|
|
59
71
|
const Slider = class {
|
|
60
72
|
constructor(hostRef) {
|
|
61
73
|
index.registerInstance(this, hostRef);
|
|
@@ -82,6 +94,9 @@ const Slider = class {
|
|
|
82
94
|
this.factor = DEFAULT_FACTOR;
|
|
83
95
|
/**
|
|
84
96
|
* Set to `true` to indicate that the slider is required.
|
|
97
|
+
* A required slider does not offer the clear button, since a required
|
|
98
|
+
* value cannot be unset. It can still be initialized unset (with a
|
|
99
|
+
* non-finite `value`) to prompt the user to make a choice.
|
|
85
100
|
*/
|
|
86
101
|
this.required = false;
|
|
87
102
|
/**
|
|
@@ -98,6 +113,10 @@ const Slider = class {
|
|
|
98
113
|
* Unit to display next to the value
|
|
99
114
|
*/
|
|
100
115
|
this.unit = '';
|
|
116
|
+
/**
|
|
117
|
+
* Defines the language for translations of the accessible labels.
|
|
118
|
+
*/
|
|
119
|
+
this.language = 'en';
|
|
101
120
|
/**
|
|
102
121
|
* The maximum value allowed
|
|
103
122
|
*/
|
|
@@ -106,6 +125,37 @@ const Slider = class {
|
|
|
106
125
|
* The minimum value allowed
|
|
107
126
|
*/
|
|
108
127
|
this.valuemin = DEFAULT_MIN_VALUE;
|
|
128
|
+
/**
|
|
129
|
+
* `true` while the value on display is one the consumer has been told
|
|
130
|
+
* about — either it came from the `value` prop, or it has been emitted on
|
|
131
|
+
* `change`. It is `false` from the moment the slider becomes unset until a
|
|
132
|
+
* value is committed again.
|
|
133
|
+
*
|
|
134
|
+
* The native input always holds a value, so while unset it rests at the
|
|
135
|
+
* midpoint. A press that lands on that midpoint, or a drag that returns to
|
|
136
|
+
* it before releasing, leaves the input's value untouched and fires neither
|
|
137
|
+
* `input` nor `change`. Without this flag such an interaction is swallowed:
|
|
138
|
+
* the slider either stays unset, or shows a number the consumer never
|
|
139
|
+
* received.
|
|
140
|
+
*/
|
|
141
|
+
this.valueIsCommitted = false;
|
|
142
|
+
this.syncStateFromValue = () => {
|
|
143
|
+
const value = this.value;
|
|
144
|
+
if (!isSetValue(value)) {
|
|
145
|
+
this.enterUnsetState();
|
|
146
|
+
return;
|
|
147
|
+
}
|
|
148
|
+
this.isUnset = false;
|
|
149
|
+
this.valueIsCommitted = true;
|
|
150
|
+
this.displayValue = this.multiplyByFactor(value);
|
|
151
|
+
this.setPercentageClass(value);
|
|
152
|
+
};
|
|
153
|
+
this.enterUnsetState = () => {
|
|
154
|
+
this.isUnset = true;
|
|
155
|
+
this.valueIsCommitted = false;
|
|
156
|
+
this.displayValue = this.getRestingDisplayValue();
|
|
157
|
+
this.percentageClass = undefined;
|
|
158
|
+
};
|
|
109
159
|
this.renderStepDots = (min, max) => {
|
|
110
160
|
if (!this.step) {
|
|
111
161
|
return;
|
|
@@ -123,24 +173,87 @@ const Slider = class {
|
|
|
123
173
|
}
|
|
124
174
|
return (index.h("limel-helper-line", { helperText: this.helperText, helperTextId: this.helperTextId, invalid: this.invalid }));
|
|
125
175
|
};
|
|
176
|
+
/**
|
|
177
|
+
* A required slider must hold a value, so it offers no way to clear it,
|
|
178
|
+
* and a readonly one cannot be edited at all. The styling needs the same
|
|
179
|
+
* answer to reserve room for the button, so both read it from here rather
|
|
180
|
+
* than each deriving it — the stylesheet cannot see a parsed prop, only
|
|
181
|
+
* the attribute string, and `required="false"` is a present attribute.
|
|
182
|
+
*/
|
|
183
|
+
this.hasClearButton = () => {
|
|
184
|
+
return !this.readonly && !this.required;
|
|
185
|
+
};
|
|
186
|
+
this.renderClearButton = () => {
|
|
187
|
+
if (!this.hasClearButton()) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
const label = this.label
|
|
191
|
+
? translations.translate.get('clear-value-of', this.language, {
|
|
192
|
+
label: this.label,
|
|
193
|
+
})
|
|
194
|
+
: translations.translate.get('clear-value', this.language);
|
|
195
|
+
return (index.h("button", { type: "button", id: this.clearButtonId, class: "clear-button", "aria-label": label, onClick: this.handleClear, disabled: this.isUnset || this.disabled }, index.h("svg", { viewBox: "0 0 32 32", "aria-hidden": "true", focusable: "false" }, index.h("path", { d: "M7.219 5.781L5.78 7.22 14.563 16 5.78 24.781 7.22 26.22 16 17.437l8.781 8.782 1.438-1.438L17.437 16l8.782-8.781L24.78 5.78 16 14.563z" })), index.h("limel-tooltip", { elementId: this.clearButtonId, label: label })));
|
|
196
|
+
};
|
|
126
197
|
this.handleInput = (event) => {
|
|
127
198
|
event.stopPropagation();
|
|
128
199
|
const input = event.target;
|
|
129
200
|
const value = Number(input.value);
|
|
201
|
+
this.isUnset = false;
|
|
130
202
|
this.displayValue = value;
|
|
131
203
|
this.setPercentageClass(value / this.factor);
|
|
132
204
|
};
|
|
133
205
|
this.handleChange = (event) => {
|
|
134
206
|
event.stopPropagation();
|
|
135
207
|
const input = event.target;
|
|
136
|
-
|
|
208
|
+
this.commitValue(Number(input.value));
|
|
209
|
+
};
|
|
210
|
+
this.handleClick = (event) => {
|
|
211
|
+
if (this.valueIsCommitted) {
|
|
212
|
+
return;
|
|
213
|
+
}
|
|
214
|
+
// The interaction is over and the value on display still hasn't
|
|
215
|
+
// reached the consumer, so the native input never fired a `change`.
|
|
216
|
+
// Commit what it holds. The click is left to bubble, so consumers
|
|
217
|
+
// listening for clicks still see it.
|
|
218
|
+
const input = event.target;
|
|
219
|
+
this.commitValue(Number(input.value));
|
|
220
|
+
};
|
|
221
|
+
/**
|
|
222
|
+
* Leaves the unset state and emits the value, keeping the rendered state
|
|
223
|
+
* and the emitted value in step so the two cannot diverge.
|
|
224
|
+
* @param displayValue - the value held by the native input, already
|
|
225
|
+
* multiplied by `factor`.
|
|
226
|
+
*/
|
|
227
|
+
this.commitValue = (displayValue) => {
|
|
137
228
|
const step = this.multiplyByFactor(this.step);
|
|
138
|
-
|
|
139
|
-
|
|
229
|
+
const min = this.multiplyByFactor(this.valuemin);
|
|
230
|
+
let value = displayValue;
|
|
231
|
+
// Steps are counted from `valuemin`, not from zero — a range of 1–5 in
|
|
232
|
+
// steps of 2 stops at 1, 3 and 5. Rounding against zero would push
|
|
233
|
+
// every one of those to the next even number, past `valuemax`.
|
|
234
|
+
if (!this.isMultipleOfStep(value - min, step)) {
|
|
235
|
+
value = min + this.roundToStep(value - min, step);
|
|
140
236
|
}
|
|
237
|
+
this.valueIsCommitted = true;
|
|
238
|
+
this.isUnset = false;
|
|
239
|
+
this.displayValue = value;
|
|
240
|
+
this.setPercentageClass(value / this.factor);
|
|
141
241
|
this.change.emit(value / this.factor);
|
|
142
242
|
};
|
|
243
|
+
this.handleClear = (event) => {
|
|
244
|
+
var _a;
|
|
245
|
+
event.stopPropagation();
|
|
246
|
+
this.enterUnsetState();
|
|
247
|
+
this.change.emit(null);
|
|
248
|
+
// Move focus to the slider itself so keyboard users can immediately
|
|
249
|
+
// set a new value, and so assistive tech announces the now-unset state
|
|
250
|
+
// instead of focus falling to the body when the button self-disables.
|
|
251
|
+
(_a = this.inputElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
252
|
+
};
|
|
143
253
|
this.getContainerClassList = () => {
|
|
254
|
+
return Object.assign({ 'is-unset': this.isUnset, 'has-clear-button': this.hasClearButton() }, this.getPercentageClassList());
|
|
255
|
+
};
|
|
256
|
+
this.getPercentageClassList = () => {
|
|
144
257
|
if (!this.percentageClass) {
|
|
145
258
|
return {};
|
|
146
259
|
}
|
|
@@ -151,12 +264,18 @@ const Slider = class {
|
|
|
151
264
|
this.multiplyByFactor = (value) => {
|
|
152
265
|
return Math.round(value * this.factor);
|
|
153
266
|
};
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
267
|
+
/**
|
|
268
|
+
* The display value the thumb rests at while unset: the midpoint of the
|
|
269
|
+
* range, so both arrow-key directions are live (unlike anchoring at the
|
|
270
|
+
* minimum). Aligned to the step — native range inputs default to a step of
|
|
271
|
+
* 1 — so it matches a real input value and the first key press doesn't jump.
|
|
272
|
+
*/
|
|
273
|
+
this.getRestingDisplayValue = () => {
|
|
274
|
+
const min = this.multiplyByFactor(this.valuemin);
|
|
275
|
+
const max = this.multiplyByFactor(this.valuemax);
|
|
276
|
+
const midpoint = (min + max) / 2;
|
|
277
|
+
const step = this.step ? this.multiplyByFactor(this.step) : 1;
|
|
278
|
+
return min + Math.round((midpoint - min) / step) * step;
|
|
160
279
|
};
|
|
161
280
|
this.getFraction = () => {
|
|
162
281
|
const min = this.multiplyByFactor(this.valuemin);
|
|
@@ -180,10 +299,10 @@ const Slider = class {
|
|
|
180
299
|
};
|
|
181
300
|
this.labelId = randomString.createRandomString();
|
|
182
301
|
this.helperTextId = randomString.createRandomString();
|
|
302
|
+
this.clearButtonId = randomString.createRandomString();
|
|
183
303
|
}
|
|
184
304
|
componentWillLoad() {
|
|
185
|
-
this.
|
|
186
|
-
this.setPercentageClass(this.getValue());
|
|
305
|
+
this.syncStateFromValue();
|
|
187
306
|
}
|
|
188
307
|
render() {
|
|
189
308
|
const min = this.multiplyByFactor(this.valuemin);
|
|
@@ -196,13 +315,18 @@ const Slider = class {
|
|
|
196
315
|
if (this.disabled || this.readonly) {
|
|
197
316
|
inputProps.disabled = true;
|
|
198
317
|
}
|
|
199
|
-
return (index.h(index.Host, { key: '
|
|
318
|
+
return (index.h(index.Host, { key: 'eecd22982d9180f24f947fd2ab9af9a25e64647e', class: this.getContainerClassList() }, index.h("limel-notched-outline", { key: '848578a10d64a4af81e296c9f961e9be788484a7', labelId: this.labelId, label: this.label, required: this.required, invalid: this.invalid, disabled: this.disabled, readonly: this.readonly, hasValue: !this.isUnset, hasFloatingLabel: true }, index.h("div", { key: '7ad977107b79fc9ca416562d5c7905b4a962053c', slot: "content" }, index.h("div", { key: 'dcb137a44b5244e63a4c8a95341d3918dc65445c', class: "slider", style: { '--slider-fraction': `${fraction}` } }, index.h("input", Object.assign({ key: '73af46f062991f3c715d13c0f44b0fb9478dc37c', type: "range", min: min, max: max, value: this.displayValue, "aria-labelledby": this.labelId, "aria-describedby": this.helperText
|
|
200
319
|
? this.helperTextId
|
|
201
|
-
: undefined,
|
|
320
|
+
: undefined, "aria-valuetext": this.isUnset
|
|
321
|
+
? translations.translate.get('value-not-set', this.language)
|
|
322
|
+
: undefined, ref: (el) => {
|
|
323
|
+
this.inputElement = el;
|
|
324
|
+
}, onInput: this.handleInput, onChange: this.handleChange, onClick: this.handleClick }, inputProps)), index.h("div", { key: 'e9fb2af7f43cc040c382930d336c8eb903bc0162', class: "track" }, index.h("div", { key: '2cec88a4b8c99296473bbd9b064bccd0a6450b8f', class: "active" }), this.renderStepDots(min, max)), index.h("div", { key: '5a090fb0528478450510ff0240e6b5499a177238', class: "thumb" }, index.h("div", { key: 'fde6792041312183af0328d9fc75d19d2553bf46', class: "knob" }), index.h("div", { key: 'de717ffa20723870bb27aa22e99fe9fe5ebdd563', class: "indicator", "aria-hidden": "true" }, this.isUnset
|
|
325
|
+
? '\u2194\uFE0E'
|
|
326
|
+
: this.displayValue))), index.h("div", { key: 'd0c38d092fecc4bf9690680d8541c8d658056f08', class: "range-labels" }, index.h("span", { key: '581387615da0cdaf105a568e02212f8bdd22eeb6', class: "min" }, this.multiplyByFactor(this.valuemin), this.unit), index.h("span", { key: '33c5673d8e56995bffdc35340381f2e87ae0918c', class: "max" }, this.multiplyByFactor(this.valuemax), this.unit)))), this.renderClearButton(), this.renderHelperLine()));
|
|
202
327
|
}
|
|
203
328
|
watchValue() {
|
|
204
|
-
this.
|
|
205
|
-
this.setPercentageClass(this.getValue());
|
|
329
|
+
this.syncStateFromValue();
|
|
206
330
|
}
|
|
207
331
|
static get watchers() { return {
|
|
208
332
|
"value": [{
|
|
@@ -4,7 +4,7 @@ var index = require('./index-DYg_7kkT.js');
|
|
|
4
4
|
var pickBy = require('./pickBy-D-X6S5kg.js');
|
|
5
5
|
var layout = require('./layout-CL_D-afg.js');
|
|
6
6
|
var isEqual = require('./isEqual-Cd9J8a5-.js');
|
|
7
|
-
var translations = require('./translations-
|
|
7
|
+
var translations = require('./translations-Do_D3pxu.js');
|
|
8
8
|
require('./_baseIteratee-DDklwtn9.js');
|
|
9
9
|
require('./_baseIsEqual-CQZKiKbe.js');
|
|
10
10
|
require('./eq-DFcUoVzv.js');
|