@lumx/core 3.20.1-alpha.3 → 3.20.1-alpha.30
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/CONTRIBUTING.md +1 -5
- package/js/constants/design-tokens.js +5389 -2294
- package/js/constants/index.js +107 -134
- package/js/constants/keycodes.js +9 -13
- package/js/custom-colors.js +17 -22
- package/js/types/Callback.js +0 -1
- package/js/types/Falsy.js +0 -1
- package/js/types/GenericProps.js +0 -1
- package/js/types/HasAriaLabelOrLabelledBy.js +0 -1
- package/js/types/HasClassName.js +0 -1
- package/js/types/HasCloseMode.js +0 -1
- package/js/types/HasTheme.js +0 -1
- package/js/types/HeadingElement.js +0 -1
- package/js/types/Point.js +0 -1
- package/js/types/Predicate.js +0 -1
- package/js/types/RectSize.js +0 -1
- package/js/types/TextElement.js +0 -1
- package/js/types/ValueOf.js +0 -1
- package/js/types/index.js +0 -1
- package/js/utils/className/fontColorClass.js +7 -12
- package/js/utils/className/fontColorClass.test.js +14 -16
- package/js/utils/className/getBasicClass.js +18 -24
- package/js/utils/className/getBasicClass.test.js +54 -19
- package/js/utils/className/getBasicClass.ts +2 -3
- package/js/utils/className/getRootClassName.js +10 -17
- package/js/utils/className/getRootClassName.test.js +11 -13
- package/js/utils/className/getRootClassName.ts +1 -2
- package/js/utils/className/getTypographyClassName.js +3 -7
- package/js/utils/className/getTypographyClassName.test.js +5 -7
- package/js/utils/className/handleBasicClasses.js +26 -31
- package/js/utils/className/handleBasicClasses.test.js +29 -32
- package/js/utils/className/handleBasicClasses.ts +3 -5
- package/js/utils/className/index.js +11 -25
- package/js/utils/className/resolveColorWithVariants.js +4 -9
- package/js/utils/className/resolveColorWithVariants.test.js +26 -28
- package/js/utils/collection/castArray.js +4 -0
- package/js/utils/collection/castArray.test.js +15 -0
- package/js/utils/collection/castArray.test.ts +15 -0
- package/js/utils/collection/castArray.ts +3 -0
- package/js/utils/collection/chunk.js +13 -0
- package/js/utils/collection/chunk.test.js +28 -0
- package/js/utils/collection/chunk.test.ts +38 -0
- package/js/utils/collection/chunk.ts +11 -0
- package/js/utils/collection/isEmpty.js +4 -0
- package/js/utils/collection/isEmpty.test.js +21 -0
- package/js/utils/collection/isEmpty.test.ts +21 -0
- package/js/utils/collection/isEmpty.ts +4 -0
- package/js/utils/collection/last.js +4 -0
- package/js/utils/collection/last.test.js +19 -0
- package/js/utils/collection/last.test.ts +21 -0
- package/js/utils/collection/last.ts +2 -0
- package/js/utils/collection/partitionMulti.js +28 -0
- package/js/utils/collection/partitionMulti.test.js +26 -0
- package/js/utils/collection/partitionMulti.test.ts +35 -0
- package/js/utils/collection/partitionMulti.ts +29 -0
- package/js/utils/collection/range.js +6 -0
- package/js/utils/collection/range.test.js +10 -0
- package/js/utils/collection/range.test.ts +10 -0
- package/js/utils/collection/range.ts +2 -0
- package/js/utils/index.js +159 -174
- package/js/utils/index.ts +4 -6
- package/js/utils/string/kebabCase.js +28 -0
- package/js/utils/string/kebabCase.test.js +41 -0
- package/js/utils/string/kebabCase.test.ts +50 -0
- package/js/utils/string/kebabCase.ts +28 -0
- package/package.json +13 -11
- package/js/components/Icon/index.tsx +0 -133
- package/js/constants/design-tokens.min.js +0 -1
- package/js/constants/index.min.js +0 -1
- package/js/constants/keycodes.min.js +0 -1
- package/js/custom-colors.min.js +0 -1
- package/js/date-picker.js +0 -71
- package/js/date-picker.min.js +0 -1
- package/js/date-picker.ts +0 -77
- package/js/types/Callback.min.js +0 -1
- package/js/types/Falsy.min.js +0 -1
- package/js/types/GenericProps.min.js +0 -1
- package/js/types/HasAriaLabelOrLabelledBy.min.js +0 -1
- package/js/types/HasClassName.min.js +0 -1
- package/js/types/HasCloseMode.min.js +0 -1
- package/js/types/HasTheme.min.js +0 -1
- package/js/types/HeadingElement.min.js +0 -1
- package/js/types/Point.min.js +0 -1
- package/js/types/Predicate.min.js +0 -1
- package/js/types/RectSize.min.js +0 -1
- package/js/types/TextElement.min.js +0 -1
- package/js/types/ValueOf.min.js +0 -1
- package/js/types/index.min.js +0 -1
- package/js/utils/className/fontColorClass.min.js +0 -1
- package/js/utils/className/fontColorClass.test.min.js +0 -1
- package/js/utils/className/getBasicClass.min.js +0 -1
- package/js/utils/className/getBasicClass.test.min.js +0 -1
- package/js/utils/className/getRootClassName.min.js +0 -1
- package/js/utils/className/getRootClassName.test.min.js +0 -1
- package/js/utils/className/getTypographyClassName.min.js +0 -1
- package/js/utils/className/getTypographyClassName.test.min.js +0 -1
- package/js/utils/className/handleBasicClasses.min.js +0 -1
- package/js/utils/className/handleBasicClasses.test.min.js +0 -1
- package/js/utils/className/index.min.js +0 -1
- package/js/utils/className/resolveColorWithVariants.min.js +0 -1
- package/js/utils/className/resolveColorWithVariants.test.min.js +0 -1
- package/js/utils/index.min.js +0 -1
- package/lumx.min.css +0 -1
package/js/date-picker.ts
DELETED
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import range from 'lodash/range';
|
|
2
|
-
import mMoment, { Moment } from 'moment';
|
|
3
|
-
import { extendMoment } from 'moment-range';
|
|
4
|
-
|
|
5
|
-
const moment = extendMoment(mMoment as any);
|
|
6
|
-
|
|
7
|
-
const DAYS_PER_WEEK = 7;
|
|
8
|
-
|
|
9
|
-
interface AnnotatedDate {
|
|
10
|
-
date: Moment;
|
|
11
|
-
isDisplayed: boolean;
|
|
12
|
-
isClickable: boolean;
|
|
13
|
-
isToday: boolean;
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
/**
|
|
17
|
-
* Get the list of days in a week based on locale.
|
|
18
|
-
*
|
|
19
|
-
* @deprecated will be removed in next major version along with the removal of moment (no replacement planned)
|
|
20
|
-
*
|
|
21
|
-
* @param locale The locale using to generate the order of days in a week.
|
|
22
|
-
* @return The list of days in a week based on locale.
|
|
23
|
-
*/
|
|
24
|
-
export function getWeekDays(locale: string): Moment[] {
|
|
25
|
-
return range(DAYS_PER_WEEK).map((_, i) => moment().locale(locale).weekday(i));
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Get month calendar based on locale and start date.
|
|
30
|
-
*
|
|
31
|
-
* @deprecated will be removed in next major version along with the removal of moment (no replacement planned)
|
|
32
|
-
*
|
|
33
|
-
* @param locale The locale using to generate the order of days in a week.
|
|
34
|
-
* @param selectedMonth The selected month.
|
|
35
|
-
* @return The list of days in a week based on locale.
|
|
36
|
-
*/
|
|
37
|
-
export function getMonthCalendar(locale: string, selectedMonth?: Moment): Moment[] {
|
|
38
|
-
const firstDayOfMonth = moment(selectedMonth).startOf('month');
|
|
39
|
-
const endDayOfMonth = moment(selectedMonth).endOf('month');
|
|
40
|
-
// The first day of the week depends on the locale used. In FR the first day is a monday but in EN the first day is sunday
|
|
41
|
-
const firstDay = firstDayOfMonth.locale(locale).startOf('week');
|
|
42
|
-
const monthRange = moment.range(firstDay.toDate(), endDayOfMonth.toDate());
|
|
43
|
-
|
|
44
|
-
return Array.from(monthRange.by('day'));
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Get month calendar based on locale and start date.
|
|
49
|
-
* Each day is annotated to know if they are displayed and/or clickable.
|
|
50
|
-
*
|
|
51
|
-
* @deprecated will be removed in next major version along with the removal of moment (no replacement planned)
|
|
52
|
-
*
|
|
53
|
-
* @param locale The locale using to generate the order of days in a week.
|
|
54
|
-
* @param minDate The first selectable date.
|
|
55
|
-
* @param maxDate The last selectable date.
|
|
56
|
-
* @param selectedMonth The selected month.
|
|
57
|
-
* @return The list of days in a week based on locale.
|
|
58
|
-
*/
|
|
59
|
-
export function getAnnotatedMonthCalendar(
|
|
60
|
-
locale: string,
|
|
61
|
-
minDate?: Date,
|
|
62
|
-
maxDate?: Date,
|
|
63
|
-
selectedMonth?: Moment,
|
|
64
|
-
): AnnotatedDate[] {
|
|
65
|
-
const month = moment(selectedMonth).locale(locale).month();
|
|
66
|
-
|
|
67
|
-
const clickableRange = moment.range(minDate as Date, maxDate as Date);
|
|
68
|
-
|
|
69
|
-
return getMonthCalendar(locale, selectedMonth).map((date) => {
|
|
70
|
-
return {
|
|
71
|
-
date,
|
|
72
|
-
isClickable: clickableRange.contains(date),
|
|
73
|
-
isDisplayed: date.month() === month,
|
|
74
|
-
isToday: date.isSame(moment(), 'day'),
|
|
75
|
-
};
|
|
76
|
-
});
|
|
77
|
-
}
|
package/js/types/Callback.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
package/js/types/Falsy.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
package/js/types/HasTheme.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
package/js/types/Point.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
package/js/types/RectSize.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
package/js/types/ValueOf.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
package/js/types/index.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var r=require("../../constants/index.min.js"),e=require("./resolveColorWithVariants.min.js");require("../../constants/keycodes.min.js"),exports.fontColorClass=function(o,t){if(!o)return;const[s,n=r.ColorVariant.N]=e.resolveColorWithVariants(o,t);return`lumx-color-font-${s}-${n}`};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var o=require("./fontColorClass.min.js");require("../../constants/index.min.js"),require("../../constants/keycodes.min.js"),require("./resolveColorWithVariants.min.js"),describe(o.fontColorClass,()=>{it("should get lumx class for font color",()=>{expect(o.fontColorClass("dark")).toBe("lumx-color-font-dark-N")}),it("should get lumx class for font color with variant",()=>{expect(o.fontColorClass("red","L2")).toBe("lumx-color-font-red-L2")}),it("should get lumx class for font color with variant with override",()=>{expect(o.fontColorClass("red-N","L2")).toBe("lumx-color-font-red-L2")})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("lodash/isBoolean"),t=require("lodash/kebabCase");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=r(e),s=r(t);exports.getBasicClass=function({prefix:e,type:t,value:r}){if(a.default(r)){if(!r)return"";return["has","is"].some(e=>t.toString().startsWith(e))?`${e}--${s.default(t)}`:`${e}--is-${s.default(t)}`}return`${e}--${s.default(t)}-${r}`};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("./getBasicClass.min.js");require("lodash/isBoolean"),require("lodash/kebabCase"),describe(e.getBasicClass,()=>{it("should return correct basic CSS class for different types and values",()=>{expect(e.getBasicClass({prefix:"test",type:"color",value:"primary"})).toBe("test--color-primary"),expect(e.getBasicClass({prefix:"test",type:"variant",value:"button"})).toBe("test--variant-button"),expect(e.getBasicClass({prefix:"test",type:"isDark",value:!0})).toBe("test--is-dark"),expect(e.getBasicClass({prefix:"test",type:"dark",value:!0})).toBe("test--is-dark"),expect(e.getBasicClass({prefix:"test",type:"hasDark",value:!0})).toBe("test--has-dark"),expect(e.getBasicClass({prefix:"test",type:"isActive",value:!1})).toBe(""),expect(e.getBasicClass({prefix:"test",type:"hasBorder",value:!0})).toBe("test--has-border"),expect(e.getBasicClass({prefix:"test",type:"isVisible",value:!1})).toBe(""),expect(e.getBasicClass({prefix:"test",type:"variant",value:void 0})).toBe("test--variant-undefined")})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("lodash/kebabCase"),t=require("../../constants/index.min.js");function r(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("../../constants/keycodes.min.js");var s=r(e);const n=/^(.*)-(.+)$/gi;exports.getRootClassName=function(e,r){const o=`${t.CSS_PREFIX}-${s.default(e)}`;return r?o.replace(n,"$1__$2"):o};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("./getRootClassName.min.js");require("lodash/kebabCase"),require("../../constants/index.min.js"),require("../../constants/keycodes.min.js"),describe(e.getRootClassName,()=>{it("should transform the component name into a lumx class",()=>{expect(e.getRootClassName("Table")).toBe("lumx-table")}),it("should transform the sub component name into a lumx class",()=>{expect(e.getRootClassName("TableBody",!0)).toBe("lumx-table__body")})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.getTypographyClassName=e=>`lumx-typography-${e}`;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("./getTypographyClassName.min.js");describe(e.getTypographyClassName,()=>{it("should generate lumx typography class",()=>{expect(e.getTypographyClassName("title")).toBe("lumx-typography-title")})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("classnames"),a=require("lodash/isBoolean"),s=require("lodash/isEmpty"),r=require("./getBasicClass.min.js");function t(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("lodash/kebabCase");var u=t(e),i=t(a),l=t(s);exports.handleBasicClasses=function({prefix:e,...a}){const s={};return l.default(a)||Object.keys(a).forEach(t=>{var u;s[r.getBasicClass({prefix:e,type:t,value:a[t]})]=i.default(a[t])?a[t]:!("number"==typeof(u=a[t])?0===u:l.default(u))}),u.default(e,s)};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var e=require("./handleBasicClasses.min.js");require("classnames"),require("lodash/isBoolean"),require("lodash/isEmpty"),require("./getBasicClass.min.js"),require("lodash/kebabCase"),describe(e.handleBasicClasses,()=>{it("should return correct combined CSS classes based on props",()=>{const s=e.handleBasicClasses({prefix:"test",undefined:void 0,null:null,emptyString:"",emptyArray:[],emptyObject:{},color:"red",isDisabled:!1,visible:!0,hasButton:!0});expect(s).toBe("test test--color-red test--is-visible test--has-button")})});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var s=require("./handleBasicClasses.min.js"),e=require("./getBasicClass.min.js"),a=require("./getRootClassName.min.js"),r=require("./getTypographyClassName.min.js"),o=require("./fontColorClass.min.js"),i=require("./resolveColorWithVariants.min.js");require("classnames"),require("lodash/isBoolean"),require("lodash/isEmpty"),require("lodash/kebabCase"),require("../../constants/index.min.js"),require("../../constants/keycodes.min.js"),exports.handleBasicClasses=s.handleBasicClasses,exports.getBasicClass=e.getBasicClass,exports.getRootClassName=a.getRootClassName,exports.getTypographyClassName=r.getTypographyClassName,exports.fontColorClass=o.fontColorClass,exports.resolveColorWithVariants=i.resolveColorWithVariants;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.resolveColorWithVariants=function(e,t){if(!e)return[void 0,t];const[r,o]=e.split("-");return[r,t||o]};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";var o=require("./resolveColorWithVariants.min.js");describe(o.resolveColorWithVariants,()=>{it("should handle undefined color",()=>{const r=o.resolveColorWithVariants(void 0);expect(r).toEqual([void 0,void 0])}),it("should handle undefined color with variant",()=>{const r=o.resolveColorWithVariants(void 0,"L2");expect(r).toEqual([void 0,"L2"])}),it("should handle color with undefined variant",()=>{const r=o.resolveColorWithVariants("primary");expect(r).toEqual(["primary",void 0])}),it("should handle color & variant separated",()=>{const r=o.resolveColorWithVariants("primary","L2");expect(r).toEqual(["primary","L2"])}),it("should handle color with variant all in one",()=>{const r=o.resolveColorWithVariants("primary-L2");expect(r).toEqual(["primary","L2"])}),it("should override color variant with the given color variant",()=>{const r=o.resolveColorWithVariants("primary-L2","D2");expect(r).toEqual(["primary","D2"])})});
|
package/js/utils/index.min.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("lodash/noop"),t=require("./className/handleBasicClasses.min.js"),s=require("./className/getBasicClass.min.js"),r=require("./className/getRootClassName.min.js"),a=require("./className/getTypographyClassName.min.js"),n=require("./className/fontColorClass.min.js"),o=require("./className/resolveColorWithVariants.min.js");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("classnames"),require("lodash/isBoolean"),require("lodash/isEmpty"),require("lodash/kebabCase"),require("../constants/index.min.js"),require("../constants/keycodes.min.js");var u=i(e);exports.handleBasicClasses=t.handleBasicClasses,exports.getBasicClass=s.getBasicClass,exports.getRootClassName=r.getRootClassName,exports.getTypographyClassName=a.getTypographyClassName,exports.fontColorClass=n.fontColorClass,exports.resolveColorWithVariants=o.resolveColorWithVariants,exports.detectHorizontalSwipe=function(e,t){let s,r,a,n,o;const i=e=>{const[t]=Array.from(e.changedTouches);s=t.pageX,r=t.pageY,n=(new Date).getTime(),o=!1},c=e=>{if(o)return;if(a=(new Date).getTime()-n,a>300)return;const[i]=Array.from(e.changedTouches),u=i.pageX-s,c=i.pageY-r;if(!(Math.abs(u)>=150&&Math.abs(c)<=150))return;t(u<0?"left":"right"),o=!0},l=!!function(){let e=!1;try{const t=Object.defineProperty({},"passive",{get(){e=!0}});window.addEventListener("testPassiveEventSupport",u.default,t),window.removeEventListener("testPassiveEventSupport",u.default,t)}catch(e){}return e}()&&{passive:!0};return e.addEventListener("touchstart",i,l),e.addEventListener("touchmove",c,l),()=>{e.removeEventListener("touchstart",i,l),e.removeEventListener("touchmove",c,l)}},exports.detectSwipe=function(e,t=u.default){let s,r,a,n,o,i,c;const l=e=>{const[t]=Array.from(e.changedTouches);o="none",a=t.pageX,n=t.pageY,c=(new Date).getTime(),e.preventDefault()},p=e=>{e.preventDefault()},d=e=>{const[u]=Array.from(e.changedTouches);s=u.pageX-a,r=u.pageY-n,i=(new Date).getTime()-c,i<=300&&(Math.abs(s)>=150&&Math.abs(r)<=100?o=s<0?"left":"right":Math.abs(r)>=150&&Math.abs(s)<=100&&(o=r<0?"up":"down")),t(o),e.preventDefault()};return e.addEventListener("touchstart",l,!1),e.addEventListener("touchmove",p,!1),e.addEventListener("touchend",d,!1),()=>{e.removeEventListener("touchstart",l,!1),e.removeEventListener("touchmove",p,!1),e.removeEventListener("touchend",d,!1)}},exports.onButtonPressed=function(e){return t=>{"Enter"!==t.key&&" "!==t.key||e(t)}},exports.onEnterPressed=function(e){return t=>{"Enter"===t.key&&e(t)}},exports.onEscapePressed=function(e){return t=>{"Escape"===t.key&&e(t)}};
|