@bagelink/vue 1.1.11 → 1.1.13
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/components/dataTable/DataTable.vue.d.ts.map +1 -1
- package/dist/index.cjs +40 -30
- package/dist/index.mjs +40 -30
- package/dist/style.css +47 -47
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/timeAgo.d.ts +15 -0
- package/dist/utils/timeAgo.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/dataTable/DataTable.vue +9 -3
- package/src/utils/index.ts +3 -2
- package/src/utils/timeAgo.ts +37 -31
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.vue.d.ts","sourceRoot":"","sources":["../../../src/components/dataTable/DataTable.vue"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DataTable.vue.d.ts","sourceRoot":"","sources":["../../../src/components/dataTable/DataTable.vue"],"names":[],"mappings":"AAueA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAA;AAY/D,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAA;AAC5C,MAAM,MAAM,UAAU,GAAG,GAAG,MAAM,IAAI,eAAe,EAAE,CAAA;yBAEtC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC7C,aAAa,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,OAAO,CAAC,EAC9D,YAAY,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,EAC3G,eAAe,WAAW,CAAC,OAAO,CAAC,OAAO,WAAW,CAAC,CAAC,CAAC,QAAQ,CAAC,EACjE;WAmVO,mBAAmB,CAAC;;;;;;;;;;wBAxNV,MAAM,EAAE;0CAwNoE,CAAC,4BAA2B;oBACzG,OAAO,KAAK,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,IAAI;WAClD,GAAG;;;;UApD0E,GAAG;UAsDjF,2TAAoC;EAEvC,KACQ,OAAO,KAAK,EAAE,KAAK,GAAG;IAAE,KAAK,CAAC,EAAE,OAAO,CAAC,OAAO,WAAW,CAAC,CAAA;CAAE;AA9VzE,wBA8V4E;AAC5E,KAAK,mBAAmB,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAG,GAAG,EAAE,CAAC"}
|
package/dist/index.cjs
CHANGED
|
@@ -11730,7 +11730,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
11730
11730
|
emits: /* @__PURE__ */ vue.mergeModels(["orderBy", "select", "lastItemVisible"], ["update:loading", "update:itemHeight", "update:selectedItems"]),
|
|
11731
11731
|
setup(__props, { emit: __emit }) {
|
|
11732
11732
|
vue.useCssVars((_ctx) => ({
|
|
11733
|
-
"
|
|
11733
|
+
"587595c3": vue.unref(computedItemHeight)
|
|
11734
11734
|
}));
|
|
11735
11735
|
const props2 = __props;
|
|
11736
11736
|
const emit2 = __emit;
|
|
@@ -11750,9 +11750,15 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
11750
11750
|
toggleSort,
|
|
11751
11751
|
cleanTransformedData,
|
|
11752
11752
|
schemaState
|
|
11753
|
-
} = useTableData({
|
|
11754
|
-
|
|
11755
|
-
|
|
11753
|
+
} = useTableData({
|
|
11754
|
+
data: data2,
|
|
11755
|
+
schema,
|
|
11756
|
+
columns,
|
|
11757
|
+
useServerSort,
|
|
11758
|
+
onSort: (field, direction) => {
|
|
11759
|
+
emit2("orderBy", `${field.trim()} ${direction.trim()}`);
|
|
11760
|
+
}
|
|
11761
|
+
});
|
|
11756
11762
|
const {
|
|
11757
11763
|
computedSelectedItems,
|
|
11758
11764
|
isSelectable,
|
|
@@ -11912,7 +11918,7 @@ const _sfc_main$Y = /* @__PURE__ */ vue.defineComponent({
|
|
|
11912
11918
|
};
|
|
11913
11919
|
}
|
|
11914
11920
|
});
|
|
11915
|
-
const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-
|
|
11921
|
+
const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-8d87f35c"]]);
|
|
11916
11922
|
function useDraggable(options = {}) {
|
|
11917
11923
|
const isDragging = vue.ref(false);
|
|
11918
11924
|
const dragElement = vue.ref(null);
|
|
@@ -15545,9 +15551,9 @@ function normalizeDimension(value, defaultMetric = "px") {
|
|
|
15545
15551
|
}
|
|
15546
15552
|
const fileBaseUrl = "https://files.bagel.design".replace(/\/$/, "");
|
|
15547
15553
|
const bagelBaseUrl = void 0;
|
|
15554
|
+
const URL_REGEX = /^https?:\/\/|^\/\//;
|
|
15548
15555
|
function pathKeyToURL(pathKey) {
|
|
15549
|
-
|
|
15550
|
-
if (!pathKey || urlRE.test(pathKey)) return pathKey;
|
|
15556
|
+
if (!pathKey || URL_REGEX.test(pathKey)) return pathKey;
|
|
15551
15557
|
if (pathKey.startsWith("static/")) {
|
|
15552
15558
|
return `${bagelBaseUrl}/${pathKey}`;
|
|
15553
15559
|
}
|
|
@@ -37747,6 +37753,26 @@ function getBrowserNavigatorLocale() {
|
|
|
37747
37753
|
if (typeof navigator !== "object") return "en-US";
|
|
37748
37754
|
return navigator.languages && navigator.languages.length ? navigator.languages[0] : navigator.language;
|
|
37749
37755
|
}
|
|
37756
|
+
function getDatePartsMap(d2, locale2) {
|
|
37757
|
+
return {
|
|
37758
|
+
AmPm: d2.toLocaleString(locale2, { hour: "numeric", hour12: true, minute: "numeric" }).split(" ")[1],
|
|
37759
|
+
DD: String(d2.getDate()).padStart(2, "0"),
|
|
37760
|
+
DDD: d2.toLocaleString(locale2, { weekday: "short" }),
|
|
37761
|
+
DDDD: d2.toLocaleString(locale2, { weekday: "long" }),
|
|
37762
|
+
HH: String(d2.getHours()).padStart(2, "0"),
|
|
37763
|
+
mm: String(d2.getMinutes()).padStart(2, "0"),
|
|
37764
|
+
MM: String(d2.getMonth() + 1).padStart(2, "0"),
|
|
37765
|
+
MMM: d2.toLocaleString(locale2, { month: "short" }),
|
|
37766
|
+
MMMM: d2.toLocaleString(locale2, { month: "long" }),
|
|
37767
|
+
ss: String(d2.getSeconds()).padStart(2, "0"),
|
|
37768
|
+
sss: String(d2.getMilliseconds()).padStart(3, "0"),
|
|
37769
|
+
YY: String(d2.getFullYear()).slice(-2),
|
|
37770
|
+
YYYY: String(d2.getFullYear())
|
|
37771
|
+
};
|
|
37772
|
+
}
|
|
37773
|
+
const _datePartsMapNow = getDatePartsMap(/* @__PURE__ */ new Date(), getBrowserNavigatorLocale());
|
|
37774
|
+
const _orderedDateTokens = Object.keys(_datePartsMapNow).sort((a2, b2) => b2.length - a2.length);
|
|
37775
|
+
const _tokenRegExPattern = new RegExp(_orderedDateTokens.map((token) => token).join("|"), "g");
|
|
37750
37776
|
function formatDate(date2, format2 = "DD.MM.YY", locale2) {
|
|
37751
37777
|
if (!date2) return "";
|
|
37752
37778
|
locale2 = locale2 || getBrowserNavigatorLocale();
|
|
@@ -37756,21 +37782,7 @@ function formatDate(date2, format2 = "DD.MM.YY", locale2) {
|
|
|
37756
37782
|
console.warn("Invalid date provided to formatDate:", date2);
|
|
37757
37783
|
return "";
|
|
37758
37784
|
}
|
|
37759
|
-
const datePartsMap =
|
|
37760
|
-
AmPm: d2.toLocaleString(locale2, { hour: "numeric", hour12: true, minute: "numeric" }).split(" ")[1],
|
|
37761
|
-
DD: String(d2.getDate()).padStart(2, "0"),
|
|
37762
|
-
DDD: d2.toLocaleString(locale2, { weekday: "short" }),
|
|
37763
|
-
DDDD: d2.toLocaleString(locale2, { weekday: "long" }),
|
|
37764
|
-
HH: String(d2.getHours()).padStart(2, "0"),
|
|
37765
|
-
mm: String(d2.getMinutes()).padStart(2, "0"),
|
|
37766
|
-
MM: String(d2.getMonth() + 1).padStart(2, "0"),
|
|
37767
|
-
MMM: d2.toLocaleString(locale2, { month: "short" }),
|
|
37768
|
-
MMMM: d2.toLocaleString(locale2, { month: "long" }),
|
|
37769
|
-
ss: String(d2.getSeconds()).padStart(2, "0"),
|
|
37770
|
-
sss: String(d2.getMilliseconds()).padStart(3, "0"),
|
|
37771
|
-
YY: String(d2.getFullYear()).slice(-2),
|
|
37772
|
-
YYYY: String(d2.getFullYear())
|
|
37773
|
-
};
|
|
37785
|
+
const datePartsMap = getDatePartsMap(d2, locale2);
|
|
37774
37786
|
const formatter = new Intl.DateTimeFormat(locale2, {
|
|
37775
37787
|
day: "numeric",
|
|
37776
37788
|
hour: "2-digit",
|
|
@@ -37799,15 +37811,12 @@ function formatDate(date2, format2 = "DD.MM.YY", locale2) {
|
|
|
37799
37811
|
if (partsMap.dayPeriod) {
|
|
37800
37812
|
datePartsMap.AmPm = partsMap.dayPeriod;
|
|
37801
37813
|
}
|
|
37802
|
-
|
|
37803
|
-
|
|
37804
|
-
|
|
37805
|
-
|
|
37806
|
-
formattedDate = formattedDate.replace(regex2, datePartsMap[token]);
|
|
37807
|
-
}
|
|
37808
|
-
return formattedDate;
|
|
37814
|
+
return format2.replace(
|
|
37815
|
+
_tokenRegExPattern,
|
|
37816
|
+
(match) => datePartsMap[match]
|
|
37817
|
+
);
|
|
37809
37818
|
} catch (error) {
|
|
37810
|
-
console.warn(
|
|
37819
|
+
console.warn(`Error formatting date: ${date2} with format: ${format2}`, error);
|
|
37811
37820
|
return "";
|
|
37812
37821
|
}
|
|
37813
37822
|
}
|
|
@@ -37902,6 +37911,7 @@ exports.debounce = debounce;
|
|
|
37902
37911
|
exports.denullify = denullify;
|
|
37903
37912
|
exports.formatDate = formatDate;
|
|
37904
37913
|
exports.formatString = formatString;
|
|
37914
|
+
exports.getDatePartsMap = getDatePartsMap;
|
|
37905
37915
|
exports.getFallbackSchema = getFallbackSchema;
|
|
37906
37916
|
exports.getNestedValue = getNestedValue;
|
|
37907
37917
|
exports.i18nTInjectionKey = i18nTInjectionKey;
|
package/dist/index.mjs
CHANGED
|
@@ -11728,7 +11728,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
|
|
|
11728
11728
|
emits: /* @__PURE__ */ mergeModels(["orderBy", "select", "lastItemVisible"], ["update:loading", "update:itemHeight", "update:selectedItems"]),
|
|
11729
11729
|
setup(__props, { emit: __emit }) {
|
|
11730
11730
|
useCssVars((_ctx) => ({
|
|
11731
|
-
"
|
|
11731
|
+
"587595c3": unref(computedItemHeight)
|
|
11732
11732
|
}));
|
|
11733
11733
|
const props2 = __props;
|
|
11734
11734
|
const emit2 = __emit;
|
|
@@ -11748,9 +11748,15 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
|
|
|
11748
11748
|
toggleSort,
|
|
11749
11749
|
cleanTransformedData,
|
|
11750
11750
|
schemaState
|
|
11751
|
-
} = useTableData({
|
|
11752
|
-
|
|
11753
|
-
|
|
11751
|
+
} = useTableData({
|
|
11752
|
+
data: data2,
|
|
11753
|
+
schema,
|
|
11754
|
+
columns,
|
|
11755
|
+
useServerSort,
|
|
11756
|
+
onSort: (field, direction) => {
|
|
11757
|
+
emit2("orderBy", `${field.trim()} ${direction.trim()}`);
|
|
11758
|
+
}
|
|
11759
|
+
});
|
|
11754
11760
|
const {
|
|
11755
11761
|
computedSelectedItems,
|
|
11756
11762
|
isSelectable,
|
|
@@ -11910,7 +11916,7 @@ const _sfc_main$Y = /* @__PURE__ */ defineComponent({
|
|
|
11910
11916
|
};
|
|
11911
11917
|
}
|
|
11912
11918
|
});
|
|
11913
|
-
const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-
|
|
11919
|
+
const DataTable = /* @__PURE__ */ _export_sfc(_sfc_main$Y, [["__scopeId", "data-v-8d87f35c"]]);
|
|
11914
11920
|
function useDraggable(options = {}) {
|
|
11915
11921
|
const isDragging = ref(false);
|
|
11916
11922
|
const dragElement = ref(null);
|
|
@@ -15543,9 +15549,9 @@ function normalizeDimension(value, defaultMetric = "px") {
|
|
|
15543
15549
|
}
|
|
15544
15550
|
const fileBaseUrl = "https://files.bagel.design".replace(/\/$/, "");
|
|
15545
15551
|
const bagelBaseUrl = void 0;
|
|
15552
|
+
const URL_REGEX = /^https?:\/\/|^\/\//;
|
|
15546
15553
|
function pathKeyToURL(pathKey) {
|
|
15547
|
-
|
|
15548
|
-
if (!pathKey || urlRE.test(pathKey)) return pathKey;
|
|
15554
|
+
if (!pathKey || URL_REGEX.test(pathKey)) return pathKey;
|
|
15549
15555
|
if (pathKey.startsWith("static/")) {
|
|
15550
15556
|
return `${bagelBaseUrl}/${pathKey}`;
|
|
15551
15557
|
}
|
|
@@ -37745,6 +37751,26 @@ function getBrowserNavigatorLocale() {
|
|
|
37745
37751
|
if (typeof navigator !== "object") return "en-US";
|
|
37746
37752
|
return navigator.languages && navigator.languages.length ? navigator.languages[0] : navigator.language;
|
|
37747
37753
|
}
|
|
37754
|
+
function getDatePartsMap(d2, locale2) {
|
|
37755
|
+
return {
|
|
37756
|
+
AmPm: d2.toLocaleString(locale2, { hour: "numeric", hour12: true, minute: "numeric" }).split(" ")[1],
|
|
37757
|
+
DD: String(d2.getDate()).padStart(2, "0"),
|
|
37758
|
+
DDD: d2.toLocaleString(locale2, { weekday: "short" }),
|
|
37759
|
+
DDDD: d2.toLocaleString(locale2, { weekday: "long" }),
|
|
37760
|
+
HH: String(d2.getHours()).padStart(2, "0"),
|
|
37761
|
+
mm: String(d2.getMinutes()).padStart(2, "0"),
|
|
37762
|
+
MM: String(d2.getMonth() + 1).padStart(2, "0"),
|
|
37763
|
+
MMM: d2.toLocaleString(locale2, { month: "short" }),
|
|
37764
|
+
MMMM: d2.toLocaleString(locale2, { month: "long" }),
|
|
37765
|
+
ss: String(d2.getSeconds()).padStart(2, "0"),
|
|
37766
|
+
sss: String(d2.getMilliseconds()).padStart(3, "0"),
|
|
37767
|
+
YY: String(d2.getFullYear()).slice(-2),
|
|
37768
|
+
YYYY: String(d2.getFullYear())
|
|
37769
|
+
};
|
|
37770
|
+
}
|
|
37771
|
+
const _datePartsMapNow = getDatePartsMap(/* @__PURE__ */ new Date(), getBrowserNavigatorLocale());
|
|
37772
|
+
const _orderedDateTokens = Object.keys(_datePartsMapNow).sort((a2, b2) => b2.length - a2.length);
|
|
37773
|
+
const _tokenRegExPattern = new RegExp(_orderedDateTokens.map((token) => token).join("|"), "g");
|
|
37748
37774
|
function formatDate(date2, format2 = "DD.MM.YY", locale2) {
|
|
37749
37775
|
if (!date2) return "";
|
|
37750
37776
|
locale2 = locale2 || getBrowserNavigatorLocale();
|
|
@@ -37754,21 +37780,7 @@ function formatDate(date2, format2 = "DD.MM.YY", locale2) {
|
|
|
37754
37780
|
console.warn("Invalid date provided to formatDate:", date2);
|
|
37755
37781
|
return "";
|
|
37756
37782
|
}
|
|
37757
|
-
const datePartsMap =
|
|
37758
|
-
AmPm: d2.toLocaleString(locale2, { hour: "numeric", hour12: true, minute: "numeric" }).split(" ")[1],
|
|
37759
|
-
DD: String(d2.getDate()).padStart(2, "0"),
|
|
37760
|
-
DDD: d2.toLocaleString(locale2, { weekday: "short" }),
|
|
37761
|
-
DDDD: d2.toLocaleString(locale2, { weekday: "long" }),
|
|
37762
|
-
HH: String(d2.getHours()).padStart(2, "0"),
|
|
37763
|
-
mm: String(d2.getMinutes()).padStart(2, "0"),
|
|
37764
|
-
MM: String(d2.getMonth() + 1).padStart(2, "0"),
|
|
37765
|
-
MMM: d2.toLocaleString(locale2, { month: "short" }),
|
|
37766
|
-
MMMM: d2.toLocaleString(locale2, { month: "long" }),
|
|
37767
|
-
ss: String(d2.getSeconds()).padStart(2, "0"),
|
|
37768
|
-
sss: String(d2.getMilliseconds()).padStart(3, "0"),
|
|
37769
|
-
YY: String(d2.getFullYear()).slice(-2),
|
|
37770
|
-
YYYY: String(d2.getFullYear())
|
|
37771
|
-
};
|
|
37783
|
+
const datePartsMap = getDatePartsMap(d2, locale2);
|
|
37772
37784
|
const formatter = new Intl.DateTimeFormat(locale2, {
|
|
37773
37785
|
day: "numeric",
|
|
37774
37786
|
hour: "2-digit",
|
|
@@ -37797,15 +37809,12 @@ function formatDate(date2, format2 = "DD.MM.YY", locale2) {
|
|
|
37797
37809
|
if (partsMap.dayPeriod) {
|
|
37798
37810
|
datePartsMap.AmPm = partsMap.dayPeriod;
|
|
37799
37811
|
}
|
|
37800
|
-
|
|
37801
|
-
|
|
37802
|
-
|
|
37803
|
-
|
|
37804
|
-
formattedDate = formattedDate.replace(regex2, datePartsMap[token]);
|
|
37805
|
-
}
|
|
37806
|
-
return formattedDate;
|
|
37812
|
+
return format2.replace(
|
|
37813
|
+
_tokenRegExPattern,
|
|
37814
|
+
(match) => datePartsMap[match]
|
|
37815
|
+
);
|
|
37807
37816
|
} catch (error) {
|
|
37808
|
-
console.warn(
|
|
37817
|
+
console.warn(`Error formatting date: ${date2} with format: ${format2}`, error);
|
|
37809
37818
|
return "";
|
|
37810
37819
|
}
|
|
37811
37820
|
}
|
|
@@ -37901,6 +37910,7 @@ export {
|
|
|
37901
37910
|
denullify,
|
|
37902
37911
|
formatDate,
|
|
37903
37912
|
formatString,
|
|
37913
|
+
getDatePartsMap,
|
|
37904
37914
|
getFallbackSchema,
|
|
37905
37915
|
getNestedValue,
|
|
37906
37916
|
i18nTInjectionKey,
|
package/dist/style.css
CHANGED
|
@@ -1021,22 +1021,22 @@ display: block;
|
|
|
1021
1021
|
text-align: center;
|
|
1022
1022
|
}
|
|
1023
1023
|
|
|
1024
|
-
.table-list-wrap[data-v-
|
|
1024
|
+
.table-list-wrap[data-v-8d87f35c] {
|
|
1025
1025
|
min-height: 150px;
|
|
1026
1026
|
}
|
|
1027
|
-
.selected[data-v-
|
|
1027
|
+
.selected[data-v-8d87f35c] {
|
|
1028
1028
|
background: var(--bgl-primary-tint);
|
|
1029
1029
|
}
|
|
1030
|
-
tbody tr.selected[data-v-
|
|
1030
|
+
tbody tr.selected[data-v-8d87f35c]:hover {
|
|
1031
1031
|
background: var(--bgl-primary-light);
|
|
1032
1032
|
}
|
|
1033
|
-
.loading-table[data-v-
|
|
1033
|
+
.loading-table[data-v-8d87f35c] {
|
|
1034
1034
|
position: relative;
|
|
1035
1035
|
}
|
|
1036
|
-
.inset[data-v-
|
|
1036
|
+
.inset[data-v-8d87f35c] {
|
|
1037
1037
|
inset: 0;
|
|
1038
1038
|
}
|
|
1039
|
-
.loading-table-animation[data-v-
|
|
1039
|
+
.loading-table-animation[data-v-8d87f35c] {
|
|
1040
1040
|
--size: 60px;
|
|
1041
1041
|
top: 30vh;
|
|
1042
1042
|
inset-inline-start: calc(50% - var(--size));
|
|
@@ -1044,9 +1044,9 @@ tbody tr.selected[data-v-871fbe77]:hover {
|
|
|
1044
1044
|
border-top: 4px solid var(--bgl-primary);
|
|
1045
1045
|
width: var(--size);
|
|
1046
1046
|
height: var(--size);
|
|
1047
|
-
animation: loading-table-
|
|
1047
|
+
animation: loading-table-8d87f35c 1s linear infinite;
|
|
1048
1048
|
}
|
|
1049
|
-
@keyframes loading-table-
|
|
1049
|
+
@keyframes loading-table-8d87f35c {
|
|
1050
1050
|
0% {
|
|
1051
1051
|
transform: translate(-50%, -50%) rotate(0deg);
|
|
1052
1052
|
}
|
|
@@ -1054,55 +1054,55 @@ tbody tr.selected[data-v-871fbe77]:hover {
|
|
|
1054
1054
|
transform: translate(-50%, -50%) rotate(360deg);
|
|
1055
1055
|
}
|
|
1056
1056
|
}
|
|
1057
|
-
.list-arrows[data-v-
|
|
1057
|
+
.list-arrows[data-v-8d87f35c] {
|
|
1058
1058
|
opacity: 0;
|
|
1059
1059
|
}
|
|
1060
|
-
.list-arrows .bgl_icon-font[data-v-
|
|
1060
|
+
.list-arrows .bgl_icon-font[data-v-8d87f35c] {
|
|
1061
1061
|
transition: all ease-in-out 0.2s;
|
|
1062
1062
|
}
|
|
1063
|
-
.list-arrows.sorted[data-v-
|
|
1063
|
+
.list-arrows.sorted[data-v-8d87f35c] {
|
|
1064
1064
|
opacity: 1;
|
|
1065
1065
|
}
|
|
1066
|
-
.col img[data-v-
|
|
1066
|
+
.col img[data-v-8d87f35c] {
|
|
1067
1067
|
height: 35px;
|
|
1068
1068
|
margin-top: -14px;
|
|
1069
1069
|
margin-bottom: -14px;
|
|
1070
1070
|
border-radius: 5px;
|
|
1071
1071
|
object-fit: cover;
|
|
1072
1072
|
}
|
|
1073
|
-
.col[data-v-
|
|
1073
|
+
.col[data-v-8d87f35c]:has(img) {
|
|
1074
1074
|
padding-inline-end: 0.5rem;
|
|
1075
1075
|
}
|
|
1076
|
-
.list-arrows.sorted .desc[data-v-
|
|
1076
|
+
.list-arrows.sorted .desc[data-v-8d87f35c] {
|
|
1077
1077
|
transform: rotate(180deg);
|
|
1078
1078
|
display: inline-block;
|
|
1079
1079
|
}
|
|
1080
|
-
table[data-v-
|
|
1080
|
+
table[data-v-8d87f35c] {
|
|
1081
1081
|
border-spacing: 0 15px;
|
|
1082
1082
|
border-collapse: collapse;
|
|
1083
1083
|
width: 100%;
|
|
1084
1084
|
}
|
|
1085
|
-
th[data-v-
|
|
1085
|
+
th[data-v-8d87f35c] {
|
|
1086
1086
|
font-size: 0.8rem;
|
|
1087
1087
|
color: var(--bgl-black-tint);
|
|
1088
1088
|
position: sticky;
|
|
1089
1089
|
top: 0;
|
|
1090
1090
|
z-index: 2;
|
|
1091
1091
|
background: var(--bgl-box-bg);
|
|
1092
|
-
height: var(--
|
|
1092
|
+
height: var(--587595c3);
|
|
1093
1093
|
vertical-align: bottom;
|
|
1094
1094
|
font-weight: 400;
|
|
1095
1095
|
text-align: start;
|
|
1096
1096
|
}
|
|
1097
|
-
.embedded-field[data-v-
|
|
1097
|
+
.embedded-field[data-v-8d87f35c] {
|
|
1098
1098
|
margin-bottom: -0.2rem;
|
|
1099
1099
|
margin-top: -0.2rem;
|
|
1100
1100
|
}
|
|
1101
|
-
.row[data-v-
|
|
1101
|
+
.row[data-v-8d87f35c] {
|
|
1102
1102
|
border-bottom: 1px solid var(--border-color);
|
|
1103
1103
|
cursor: pointer;
|
|
1104
1104
|
}
|
|
1105
|
-
.row.first-row[data-v-
|
|
1105
|
+
.row.first-row[data-v-8d87f35c] {
|
|
1106
1106
|
font-size: 0.8rem;
|
|
1107
1107
|
color: var(--bgl-black-tint);
|
|
1108
1108
|
position: sticky;
|
|
@@ -1111,7 +1111,7 @@ th[data-v-871fbe77] {
|
|
|
1111
1111
|
background: var(--bgl-box-bg);
|
|
1112
1112
|
vertical-align: bottom;
|
|
1113
1113
|
}
|
|
1114
|
-
.row.first-row[data-v-
|
|
1114
|
+
.row.first-row[data-v-8d87f35c]::after {
|
|
1115
1115
|
content: '';
|
|
1116
1116
|
border-bottom: 1px solid var(--border-color);
|
|
1117
1117
|
position: absolute;
|
|
@@ -1119,11 +1119,11 @@ th[data-v-871fbe77] {
|
|
|
1119
1119
|
right: 0;
|
|
1120
1120
|
bottom: -1px;
|
|
1121
1121
|
}
|
|
1122
|
-
.first-row .col[data-v-
|
|
1122
|
+
.first-row .col[data-v-8d87f35c] {
|
|
1123
1123
|
cursor: pointer;
|
|
1124
1124
|
background: var(--bgl-box-bg);
|
|
1125
1125
|
}
|
|
1126
|
-
.col[data-v-
|
|
1126
|
+
.col[data-v-8d87f35c] {
|
|
1127
1127
|
white-space: nowrap;
|
|
1128
1128
|
padding: 0.75rem 1rem;
|
|
1129
1129
|
transition: var(--bgl-transition);
|
|
@@ -1133,19 +1133,19 @@ th[data-v-871fbe77] {
|
|
|
1133
1133
|
overflow: hidden;
|
|
1134
1134
|
max-width: 30vw;
|
|
1135
1135
|
}
|
|
1136
|
-
.col[data-v-
|
|
1136
|
+
.col[data-v-8d87f35c]:has(.bagel-input) {
|
|
1137
1137
|
padding: 0rem 0.25rem;
|
|
1138
1138
|
}
|
|
1139
|
-
.col > div[data-v-
|
|
1139
|
+
.col > div[data-v-8d87f35c] {
|
|
1140
1140
|
display: flex;
|
|
1141
1141
|
gap: 0.5rem;
|
|
1142
1142
|
}
|
|
1143
|
-
.max-col-width[data-v-
|
|
1143
|
+
.max-col-width[data-v-8d87f35c] {
|
|
1144
1144
|
max-width: 30vw;
|
|
1145
1145
|
overflow: hidden;
|
|
1146
1146
|
text-overflow: ellipsis;
|
|
1147
1147
|
}
|
|
1148
|
-
.col.check .bgl_icon-font[data-v-
|
|
1148
|
+
.col.check .bgl_icon-font[data-v-8d87f35c] {
|
|
1149
1149
|
border-radius: 100%;
|
|
1150
1150
|
background: var(--bgl-blue-20);
|
|
1151
1151
|
color: var(--bgl-primary);
|
|
@@ -1156,35 +1156,35 @@ th[data-v-871fbe77] {
|
|
|
1156
1156
|
justify-content: center;
|
|
1157
1157
|
margin-top: -2px;
|
|
1158
1158
|
}
|
|
1159
|
-
.rows[data-v-
|
|
1159
|
+
.rows[data-v-8d87f35c] {
|
|
1160
1160
|
font-size: 0.88em;
|
|
1161
1161
|
}
|
|
1162
|
-
.table-list[data-v-
|
|
1162
|
+
.table-list[data-v-8d87f35c] {
|
|
1163
1163
|
height: 100%;
|
|
1164
1164
|
position: relative;
|
|
1165
1165
|
padding-left: 0 !important;
|
|
1166
1166
|
padding-right: 0 !important;
|
|
1167
1167
|
overflow: auto;
|
|
1168
1168
|
}
|
|
1169
|
-
.BagelTable .table-list[data-v-
|
|
1169
|
+
.BagelTable .table-list[data-v-8d87f35c] {
|
|
1170
1170
|
overflow: unset;
|
|
1171
1171
|
}
|
|
1172
|
-
.row-item[data-v-
|
|
1173
|
-
height: var(--
|
|
1172
|
+
.row-item[data-v-8d87f35c] {
|
|
1173
|
+
height: var(--587595c3);
|
|
1174
1174
|
transition: all 200ms ease;
|
|
1175
1175
|
}
|
|
1176
|
-
.row-item[data-v-
|
|
1176
|
+
.row-item[data-v-8d87f35c]:hover {
|
|
1177
1177
|
background: var(--bgl-gray-light);
|
|
1178
1178
|
}
|
|
1179
|
-
.row-item input[type='checkbox'][data-v-
|
|
1179
|
+
.row-item input[type='checkbox'][data-v-8d87f35c] {
|
|
1180
1180
|
margin-top: 0.45rem !important;
|
|
1181
1181
|
accent-color: var(--bgl-accent-color);
|
|
1182
1182
|
}
|
|
1183
|
-
.infinite-wrapper[data-v-
|
|
1183
|
+
.infinite-wrapper[data-v-8d87f35c] {
|
|
1184
1184
|
overflow-y: auto;
|
|
1185
1185
|
width: 100%;
|
|
1186
1186
|
}
|
|
1187
|
-
input[type='checkbox'][data-v-
|
|
1187
|
+
input[type='checkbox'][data-v-8d87f35c] {
|
|
1188
1188
|
margin-top: 0.3rem !important;
|
|
1189
1189
|
accent-color: var(--bgl-accent-color);
|
|
1190
1190
|
transform: scale(1.2);
|
|
@@ -1196,7 +1196,7 @@ input[type='checkbox'][data-v-871fbe77] {
|
|
|
1196
1196
|
height: 0.85rem;
|
|
1197
1197
|
width: 0.85rem;
|
|
1198
1198
|
}
|
|
1199
|
-
input[type='checkbox'][data-v-
|
|
1199
|
+
input[type='checkbox'][data-v-8d87f35c]::before {
|
|
1200
1200
|
content: '';
|
|
1201
1201
|
height: 0.85rem;
|
|
1202
1202
|
width: 0.85rem;
|
|
@@ -1209,18 +1209,18 @@ input[type='checkbox'][data-v-871fbe77]::before {
|
|
|
1209
1209
|
transform: scale(1);
|
|
1210
1210
|
position: absolute;
|
|
1211
1211
|
}
|
|
1212
|
-
input[type='checkbox'][data-v-
|
|
1212
|
+
input[type='checkbox'][data-v-8d87f35c]:hover::before {
|
|
1213
1213
|
opacity: 0.2;
|
|
1214
1214
|
transform: scale(2);
|
|
1215
1215
|
}
|
|
1216
|
-
[lang='he'] [dir='ltr'][data-v-
|
|
1216
|
+
[lang='he'] [dir='ltr'][data-v-8d87f35c] {
|
|
1217
1217
|
text-align: right;
|
|
1218
1218
|
}
|
|
1219
|
-
th input[type='checkbox'][data-v-
|
|
1219
|
+
th input[type='checkbox'][data-v-8d87f35c] {
|
|
1220
1220
|
transform: translateY(0.2rem) scale(1.2);
|
|
1221
1221
|
accent-color: var(--bgl-accent-color);
|
|
1222
1222
|
}
|
|
1223
|
-
th[data-v-
|
|
1223
|
+
th[data-v-8d87f35c]::after {
|
|
1224
1224
|
content: '';
|
|
1225
1225
|
border-bottom: 1px solid var(--border-color);
|
|
1226
1226
|
position: absolute;
|
|
@@ -1228,24 +1228,24 @@ th[data-v-871fbe77]::after {
|
|
|
1228
1228
|
right: 0;
|
|
1229
1229
|
bottom: -1px;
|
|
1230
1230
|
}
|
|
1231
|
-
tr[data-v-
|
|
1231
|
+
tr[data-v-8d87f35c] {
|
|
1232
1232
|
border-bottom: 1px solid var(--border-color);
|
|
1233
1233
|
cursor: pointer;
|
|
1234
1234
|
align-items: center;
|
|
1235
1235
|
}
|
|
1236
|
-
td[data-v-
|
|
1237
|
-
th[data-v-
|
|
1236
|
+
td[data-v-8d87f35c],
|
|
1237
|
+
th[data-v-8d87f35c] {
|
|
1238
1238
|
white-space: nowrap;
|
|
1239
1239
|
padding: 0.75rem 0.65rem;
|
|
1240
1240
|
transition: var(--bgl-transition);
|
|
1241
1241
|
line-height: 1;
|
|
1242
1242
|
}
|
|
1243
|
-
tbody tr[data-v-
|
|
1243
|
+
tbody tr[data-v-8d87f35c] {
|
|
1244
1244
|
font-size: 0.88em;
|
|
1245
|
-
height: var(--
|
|
1245
|
+
height: var(--587595c3);
|
|
1246
1246
|
transition: all 200ms ease;
|
|
1247
1247
|
}
|
|
1248
|
-
tbody tr[data-v-
|
|
1248
|
+
tbody tr[data-v-8d87f35c]:hover {
|
|
1249
1249
|
background: var(--bgl-gray-light);
|
|
1250
1250
|
}
|
|
1251
1251
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAI/D,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,IAAI,GAAE,MAAY,QAO1D;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,UAMlC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,iBAGtE;AAED,wBAAgB,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,UAG3C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,QAIrE;AAED,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,UAOpE;AAED,wBAAgB,SAAS,CAAC,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACnD,KAAK,CAAC,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,GAAG,EACd,GAAG,CAAC,EAAE,CAAC,OAcP;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,OAO9C;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,OAG5E;AAED,eAAO,MAAM,MAAM,GAAI,YAAY,GAAG,YAA0C,CAAA;AAEhF,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,IAAI,CAAC,EAAE,GAAG,EAAE,EACZ,OAAO,CAAC,EAAE,MAAM,EAAE,GAChB,cAAc,CAAC,CAAC,CAAC,CAgBnB;AAED,wBAAgB,KAAK,CAAC,EAAE,GAAE,MAAY,oBAErC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAatD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,UAIvC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,aAAa,SAAO,GAAG,MAAM,GAAG,SAAS,CAG/G;AAED,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAI/D,wBAAgB,QAAQ,CAAC,EAAE,EAAE,MAAM,IAAI,EAAE,IAAI,GAAE,MAAY,QAO1D;AAED,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,UAMlC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAQ3D;AAED,wBAAsB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,iBAGtE;AAED,wBAAgB,QAAQ,CAAC,GAAG,MAAM,EAAE,MAAM,EAAE,UAG3C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,IAAI,QAIrE;AAED,wBAAgB,QAAQ,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,GAAG,EAAE,UAOpE;AAED,wBAAgB,SAAS,CAAC,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACnD,KAAK,CAAC,EAAE,UAAU,EAClB,QAAQ,CAAC,EAAE,GAAG,EACd,GAAG,CAAC,EAAE,CAAC,OAcP;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,OAO9C;AAED,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAAE,OAAO,CAAC,EAAE,MAAM,OAG5E;AAED,eAAO,MAAM,MAAM,GAAI,YAAY,GAAG,YAA0C,CAAA;AAEhF,wBAAgB,iBAAiB,CAAC,CAAC,EAClC,IAAI,CAAC,EAAE,GAAG,EAAE,EACZ,OAAO,CAAC,EAAE,MAAM,EAAE,GAChB,cAAc,CAAC,CAAC,CAAC,CAgBnB;AAED,wBAAgB,KAAK,CAAC,EAAE,GAAE,MAAY,oBAErC;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;IAAE,EAAE,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAoBlF;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAatD;AAED,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,UAIvC;AAED,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,aAAa,SAAO,GAAG,MAAM,GAAG,SAAS,CAG/G;AAED,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAA;AAElD,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAEhC,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAO5C,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,MAAM,sBAM5C;AAED,wBAAgB,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,GAAE,GAAe,GAAG,GAAG,CAa1F"}
|
package/dist/utils/timeAgo.d.ts
CHANGED
|
@@ -1,4 +1,19 @@
|
|
|
1
1
|
import { AvailableTimeLanguages, DateTimeAcceptedFormats } from '../types/timeAgoT';
|
|
2
2
|
export declare function timeAgo(date: string | Date, lang?: AvailableTimeLanguages): string;
|
|
3
|
+
export declare function getDatePartsMap(d: Date, locale: Intl.LocalesArgument): {
|
|
4
|
+
AmPm: string;
|
|
5
|
+
DD: string;
|
|
6
|
+
DDD: string;
|
|
7
|
+
DDDD: string;
|
|
8
|
+
HH: string;
|
|
9
|
+
mm: string;
|
|
10
|
+
MM: string;
|
|
11
|
+
MMM: string;
|
|
12
|
+
MMMM: string;
|
|
13
|
+
ss: string;
|
|
14
|
+
sss: string;
|
|
15
|
+
YY: string;
|
|
16
|
+
YYYY: string;
|
|
17
|
+
};
|
|
3
18
|
export declare function formatDate(date?: string | Date, format?: DateTimeAcceptedFormats, locale?: string): string;
|
|
4
19
|
//# sourceMappingURL=timeAgo.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeAgo.d.ts","sourceRoot":"","sources":["../../src/utils/timeAgo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,uBAAuB,EAAkC,MAAM,mBAAmB,CAAA;AAqDxH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAE,sBAA6B,UAsD/E;AASD,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAE,uBAAoC,EAAE,MAAM,CAAC,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"timeAgo.d.ts","sourceRoot":"","sources":["../../src/utils/timeAgo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,uBAAuB,EAAkC,MAAM,mBAAmB,CAAA;AAqDxH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,GAAE,sBAA6B,UAsD/E;AASD,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,eAAe;;;;;;;;;;;;;;EAiBpE;AAcD,wBAAgB,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,EAAE,MAAM,GAAE,uBAAoC,EAAE,MAAM,CAAC,EAAE,MAAM,UA6D7G"}
|
package/package.json
CHANGED
|
@@ -43,9 +43,15 @@ const {
|
|
|
43
43
|
toggleSort,
|
|
44
44
|
cleanTransformedData,
|
|
45
45
|
schemaState
|
|
46
|
-
} = useTableData<T>({
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
} = useTableData<T>({
|
|
47
|
+
data,
|
|
48
|
+
schema,
|
|
49
|
+
columns,
|
|
50
|
+
useServerSort,
|
|
51
|
+
onSort: (field, direction) => {
|
|
52
|
+
emit('orderBy', `${field.trim()} ${direction.trim()}` as EmitOrderT)
|
|
53
|
+
}
|
|
54
|
+
})
|
|
49
55
|
|
|
50
56
|
const {
|
|
51
57
|
computedSelectedItems,
|
package/src/utils/index.ts
CHANGED
|
@@ -172,9 +172,10 @@ export { useDebounceFn } from '@vueuse/core'
|
|
|
172
172
|
const fileBaseUrl = (import.meta.env.VITE_FILE_BASE_URL || 'https://files.bagel.design').replace(/\/$/, '')
|
|
173
173
|
const bagelBaseUrl = import.meta.env.VITE_BAGEL_BASE_URL
|
|
174
174
|
|
|
175
|
+
const URL_REGEX = /^https?:\/\/|^\/\//
|
|
176
|
+
|
|
175
177
|
export function pathKeyToURL(pathKey?: string) {
|
|
176
|
-
|
|
177
|
-
if (!pathKey || urlRE.test(pathKey)) return pathKey
|
|
178
|
+
if (!pathKey || URL_REGEX.test(pathKey)) return pathKey
|
|
178
179
|
if (pathKey.startsWith('static/')) {
|
|
179
180
|
return `${bagelBaseUrl}/${pathKey}`
|
|
180
181
|
}
|
package/src/utils/timeAgo.ts
CHANGED
|
@@ -114,6 +114,37 @@ function getBrowserNavigatorLocale(): string {
|
|
|
114
114
|
: navigator.language
|
|
115
115
|
}
|
|
116
116
|
|
|
117
|
+
export function getDatePartsMap(d: Date, locale: Intl.LocalesArgument) {
|
|
118
|
+
/// keep-sorted
|
|
119
|
+
return {
|
|
120
|
+
AmPm: d.toLocaleString(locale, { hour: 'numeric', hour12: true, minute: 'numeric' }).split(' ')[1],
|
|
121
|
+
DD: String(d.getDate()).padStart(2, '0'),
|
|
122
|
+
DDD: d.toLocaleString(locale, { weekday: 'short' }),
|
|
123
|
+
DDDD: d.toLocaleString(locale, { weekday: 'long' }),
|
|
124
|
+
HH: String(d.getHours()).padStart(2, '0'),
|
|
125
|
+
mm: String(d.getMinutes()).padStart(2, '0'),
|
|
126
|
+
MM: String(d.getMonth() + 1).padStart(2, '0'),
|
|
127
|
+
MMM: d.toLocaleString(locale, { month: 'short' }),
|
|
128
|
+
MMMM: d.toLocaleString(locale, { month: 'long' }),
|
|
129
|
+
ss: String(d.getSeconds()).padStart(2, '0'),
|
|
130
|
+
sss: String(d.getMilliseconds()).padStart(3, '0'),
|
|
131
|
+
YY: String(d.getFullYear()).slice(-2),
|
|
132
|
+
YYYY: String(d.getFullYear()),
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
// ? Avoid creating the date parts map on every call
|
|
137
|
+
const _datePartsMapNow = getDatePartsMap(new Date(), getBrowserNavigatorLocale())
|
|
138
|
+
|
|
139
|
+
// Sort tokens by length (longest first) to avoid partial replacements
|
|
140
|
+
const _orderedDateTokens = (
|
|
141
|
+
Object.keys(_datePartsMapNow).sort((a, b) => b.length - a.length)
|
|
142
|
+
) as (keyof typeof _datePartsMapNow)[]
|
|
143
|
+
|
|
144
|
+
// ? Avoid creating the token regex pattern on every call
|
|
145
|
+
// ? no longer creating the Regex Objs it in a loop
|
|
146
|
+
const _tokenRegExPattern = new RegExp(_orderedDateTokens.map(token => token).join('|'), 'g')
|
|
147
|
+
|
|
117
148
|
export function formatDate(date?: string | Date, format: DateTimeAcceptedFormats = 'DD.MM.YY', locale?: string) {
|
|
118
149
|
if (!date) return ''
|
|
119
150
|
locale = locale || getBrowserNavigatorLocale()
|
|
@@ -127,22 +158,7 @@ export function formatDate(date?: string | Date, format: DateTimeAcceptedFormats
|
|
|
127
158
|
return ''
|
|
128
159
|
}
|
|
129
160
|
|
|
130
|
-
|
|
131
|
-
const datePartsMap = {
|
|
132
|
-
AmPm: d.toLocaleString(locale, { hour: 'numeric', hour12: true, minute: 'numeric' }).split(' ')[1],
|
|
133
|
-
DD: String(d.getDate()).padStart(2, '0'),
|
|
134
|
-
DDD: d.toLocaleString(locale, { weekday: 'short' }),
|
|
135
|
-
DDDD: d.toLocaleString(locale, { weekday: 'long' }),
|
|
136
|
-
HH: String(d.getHours()).padStart(2, '0'),
|
|
137
|
-
mm: String(d.getMinutes()).padStart(2, '0'),
|
|
138
|
-
MM: String(d.getMonth() + 1).padStart(2, '0'),
|
|
139
|
-
MMM: d.toLocaleString(locale, { month: 'short' }),
|
|
140
|
-
MMMM: d.toLocaleString(locale, { month: 'long' }),
|
|
141
|
-
ss: String(d.getSeconds()).padStart(2, '0'),
|
|
142
|
-
sss: String(d.getMilliseconds()).padStart(3, '0'),
|
|
143
|
-
YY: String(d.getFullYear()).slice(-2),
|
|
144
|
-
YYYY: String(d.getFullYear()),
|
|
145
|
-
}
|
|
161
|
+
const datePartsMap = getDatePartsMap(d, locale)
|
|
146
162
|
|
|
147
163
|
// For more complex formats that need localization, use Intl.DateTimeFormat
|
|
148
164
|
/// keep-sorted
|
|
@@ -182,22 +198,12 @@ export function formatDate(date?: string | Date, format: DateTimeAcceptedFormats
|
|
|
182
198
|
}
|
|
183
199
|
|
|
184
200
|
// Process the format string by replacing each token with its value
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
Object.keys(datePartsMap).sort((a, b) => b.length - a.length)
|
|
190
|
-
) as (keyof typeof datePartsMap)[]
|
|
191
|
-
|
|
192
|
-
// Replace each token with its value
|
|
193
|
-
for (const token of tokens) {
|
|
194
|
-
const regex = new RegExp(token, 'g')
|
|
195
|
-
formattedDate = formattedDate.replace(regex, datePartsMap[token])
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
return formattedDate
|
|
201
|
+
return format.replace(
|
|
202
|
+
_tokenRegExPattern,
|
|
203
|
+
match => datePartsMap[match as keyof typeof datePartsMap]
|
|
204
|
+
)
|
|
199
205
|
} catch (error) {
|
|
200
|
-
console.warn(
|
|
206
|
+
console.warn(`Error formatting date: ${date} with format: ${format}`, error)
|
|
201
207
|
return ''
|
|
202
208
|
}
|
|
203
209
|
}
|