@loadsmart/loadsmart-ui 8.0.5 → 8.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (64) hide show
  1. package/dist/DragDropFile.context.js +29 -0
  2. package/dist/DragDropFile.context.js.map +1 -0
  3. package/dist/components/Accordion/Accordion.d.ts +4 -3
  4. package/dist/components/Calendar/Calendar.types.d.ts +19 -19
  5. package/dist/components/DatePicker/DatePicker.types.d.ts +19 -19
  6. package/dist/components/Dialog/useDialog.d.ts +3 -3
  7. package/dist/components/DragDropFile/types.d.ts +27 -27
  8. package/dist/components/Drawer/Drawer.d.ts +13 -10
  9. package/dist/components/Dropdown/Dropdown.types.d.ts +19 -19
  10. package/dist/components/Dropdown/useDropdown.d.ts +6 -6
  11. package/dist/components/EmptyState/EmptyState.types.d.ts +18 -18
  12. package/dist/components/HighlightMatch/HighlightMatch.d.ts +2 -2
  13. package/dist/components/Modal/Modal.d.ts +12 -10
  14. package/dist/components/Pagination/Pagination.types.d.ts +20 -20
  15. package/dist/components/Popover/Popover.types.d.ts +6 -5
  16. package/dist/components/Select/Select.types.d.ts +32 -32
  17. package/dist/components/SideNavigation/Logo/Logo.d.ts +4 -3
  18. package/dist/components/SideNavigation/Menu/Menu.d.ts +3 -2
  19. package/dist/components/SideNavigation/Menu/MenuBaseItem.d.ts +2 -2
  20. package/dist/components/SideNavigation/Menu/MenuExpandable.d.ts +4 -3
  21. package/dist/components/SideNavigation/Menu/MenuLink.d.ts +2 -2
  22. package/dist/components/SideNavigation/SideNavigation.d.ts +2 -10
  23. package/dist/components/SideNavigation/useSideNavigation.d.ts +4 -4
  24. package/dist/components/Steps/ProgressSteps/ProgressStep.d.ts +2 -2
  25. package/dist/components/Steps/Steps.d.ts +3 -2
  26. package/dist/components/Steps/Steps.types.d.ts +3 -3
  27. package/dist/components/Steps/StepsStep.d.ts +3 -2
  28. package/dist/components/Steps/useSteps.d.ts +4 -4
  29. package/dist/components/Table/Selection.d.ts +9 -8
  30. package/dist/components/Table/Table.types.d.ts +33 -32
  31. package/dist/components/TablePagination/TablePagination.types.d.ts +17 -17
  32. package/dist/components/Tabs/Tabs.types.d.ts +2 -2
  33. package/dist/components/Tooltip/Tooltip.d.ts +3 -2
  34. package/dist/components/TopNavigation/Logo/Logo.d.ts +4 -3
  35. package/dist/components/TopNavigation/Menu/Menu.d.ts +7 -5
  36. package/dist/components/TopNavigation/Menu/MenuItemDropdown.d.ts +6 -5
  37. package/dist/hooks/useFocusTrap/useFocusTrap.d.ts +3 -3
  38. package/dist/hooks/useFocusWithin/useFocusWithin.d.ts +2 -2
  39. package/dist/hooks/useSelectable/useSelectable.types.d.ts +4 -4
  40. package/dist/index.js +7545 -8177
  41. package/dist/index.js.map +1 -1
  42. package/dist/styles/typography.d.ts +1 -1
  43. package/dist/testing/index.js +318 -219
  44. package/dist/testing/index.js.map +1 -1
  45. package/dist/themes.js +2322 -0
  46. package/dist/themes.js.map +1 -0
  47. package/dist/theming/index.js +10 -18
  48. package/dist/theming/index.js.map +1 -1
  49. package/dist/toArray.js +16 -0
  50. package/dist/toArray.js.map +1 -0
  51. package/dist/tools/index.js +2 -7
  52. package/dist/tools/vite-plugin-replace-jsx-runtime.d.ts +7 -0
  53. package/dist/tools.js +98 -0
  54. package/dist/tools.js.map +1 -0
  55. package/package.json +12 -11
  56. package/dist/DragDropFile.context-oKnUu6d3.js +0 -33
  57. package/dist/DragDropFile.context-oKnUu6d3.js.map +0 -1
  58. package/dist/miranda-compatibility.theme-CIu9fa89.js +0 -2528
  59. package/dist/miranda-compatibility.theme-CIu9fa89.js.map +0 -1
  60. package/dist/prop-Fs2axl9W.js +0 -75
  61. package/dist/prop-Fs2axl9W.js.map +0 -1
  62. package/dist/toArray-BJJzFRD1.js +0 -13
  63. package/dist/toArray-BJJzFRD1.js.map +0 -1
  64. package/dist/tools/index.js.map +0 -1
@@ -1,75 +0,0 @@
1
- import { isObject } from "@loadsmart/utils-object";
2
- import { isFunction } from "@loadsmart/utils-function";
3
- import { getToken } from "./theming/index.js";
4
- import { get } from "lodash-es";
5
- import { t as toArray } from "./toArray-BJJzFRD1.js";
6
- function whenProps(conditions) {
7
- return function(props) {
8
- const safeConditions = toArray(conditions);
9
- return safeConditions.some((condition) => {
10
- const keys = Object.keys(condition);
11
- return keys.every((key) => {
12
- const propValue = get(props, key);
13
- const conditionValue = condition[key];
14
- if (Array.isArray(conditionValue)) {
15
- return toArray(conditionValue).includes(propValue);
16
- }
17
- if (isFunction(conditionValue)) {
18
- return Boolean(conditionValue(propValue));
19
- }
20
- return conditionValue === propValue;
21
- });
22
- });
23
- };
24
- }
25
- function handleConditionObject(condition, props) {
26
- const keys = Object.keys(condition);
27
- const res = keys.reduce((acc, key) => {
28
- let value = condition[key];
29
- if (isFunction(value)) {
30
- value = value(props);
31
- }
32
- if (value) {
33
- const tokenKey = key;
34
- const result = getToken(tokenKey, props) ?? key;
35
- return [...acc, result];
36
- }
37
- return acc;
38
- }, []);
39
- return res.join(" ");
40
- }
41
- function conditional(...conditions) {
42
- return function(props) {
43
- let classes = [];
44
- for (let i = 0; i < conditions.length; i++) {
45
- const condition = conditions[i];
46
- if (isFunction(condition)) {
47
- classes.push(condition(props));
48
- } else if (isObject(condition)) {
49
- classes = classes.concat(handleConditionObject(condition, props));
50
- } else if (condition) {
51
- classes.push(String(condition));
52
- }
53
- }
54
- return classes.join(" ");
55
- };
56
- }
57
- function compare(...args) {
58
- const [value, defaultValue] = args;
59
- if (value == null || value === false || Number.isNaN(value)) {
60
- return defaultValue || value;
61
- }
62
- if (typeof value === "string" && value.length === 0) {
63
- return defaultValue || value;
64
- }
65
- return value;
66
- }
67
- function prop(name, defaultValue, comparatorFn = compare) {
68
- return (props) => comparatorFn(props[name], defaultValue);
69
- }
70
- export {
71
- conditional as c,
72
- prop as p,
73
- whenProps as w
74
- };
75
- //# sourceMappingURL=prop-Fs2axl9W.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prop-Fs2axl9W.js","sources":["../src/tools/conditional.ts","../src/tools/prop.ts"],"sourcesContent":["import { isObject } from '@loadsmart/utils-object'\nimport { isFunction } from '@loadsmart/utils-function'\nimport type { F } from 'ts-toolbelt'\n\nimport { getToken } from 'theming'\nimport type { ThemeToken, ThemedProps } from 'theming'\nimport get from 'utils/toolset/get'\nimport toArray from 'utils/toolset/toArray'\n\ntype WhenProps<K> = K | undefined | ((value: K) => boolean | undefined)\n\nexport type When<P> = {\n [Key in keyof P]?: WhenProps<P[Key]> | WhenProps<P[Key]>[] | undefined\n}\n\n/**\n * Utility to generate style/class name conditions based on a components props.\n * Expected prop values can be a single value, an array of values or a function/callback.\n * @example\n * ```jsx\n * whenProps({\n * 'prop-a': true, // checks `props['prop-a']` === true`\n * 'prop-b': [1, 2], // checks `toArray([1, 2]).includes(props['prop-b'])`\n * 'prop-c': (value) => value + 1 // checks `Boolean(callback(props['prop-c']))`\n * 'prop-d': Boolean // checks `Boolean(Boolean(props['prop-d']))`\n * })\n * ```\n * @param conditions\n * @returns Returns function that consumes component props.\n */\nexport function whenProps<P>(conditions: When<F.Narrow<P>> | When<F.Narrow<P>>[]) {\n return function (props: P): boolean {\n const safeConditions = toArray(conditions)\n\n return safeConditions.some((condition) => {\n const keys = Object.keys(condition)\n\n return keys.every((key) => {\n const propValue = get(props, key) as P[keyof P]\n const conditionValue = condition[key as keyof typeof condition]\n\n if (Array.isArray(conditionValue)) {\n return toArray(conditionValue).includes(propValue)\n }\n if (isFunction(conditionValue)) {\n return Boolean(conditionValue(propValue))\n }\n return (conditionValue as unknown) === propValue\n })\n })\n }\n}\n\ntype ConditionObject<P> = Record<\n string,\n string | number | boolean | ((props: P) => boolean) | undefined\n>\n\nfunction handleConditionObject<P>(condition: ConditionObject<P>, props: P): string {\n const keys = Object.keys(condition)\n\n const res = keys.reduce<string[]>((acc, key) => {\n let value = condition[key]\n\n if (isFunction(value)) {\n value = value(props)\n }\n\n if (value) {\n const tokenKey = key as ThemeToken\n\n const result = (getToken(tokenKey, props as unknown as ThemedProps) ?? key) as string\n return [...acc, result]\n }\n\n return acc\n }, [])\n\n return res.join(' ')\n}\n\ntype Condition<P> = number | string | ConditionObject<P> | ((props: P) => string)\n\n/**\n * Concatenate style properties or class names conditionally.\n * Conditions can be functions that consume components props,\n * objects, strings, or numbers (that will be coerced to strings).\n * @example\n * ```jsx\n * conditional(1, 'some-class', {\n * 'class-a': true,\n * 'class-b': (props) => props.showClassB,\n * }, (props) => props.className)\n * ```\n * @param conditions\n * @returns Returns function that consumes component props.\n */\nfunction conditional<P>(...conditions: Condition<P>[]) {\n return function (props: P): string {\n let classes: string[] = []\n\n for (let i = 0; i < conditions.length; i++) {\n const condition = conditions[i]\n\n if (isFunction(condition)) {\n classes.push(condition(props))\n } else if (isObject(condition)) {\n classes = classes.concat(handleConditionObject(condition, props))\n } else if (condition) {\n classes.push(String(condition))\n }\n }\n\n return classes.join(' ')\n }\n}\n\nexport default conditional\n","function compare(...args: any[]): unknown {\n const [value, defaultValue] = args\n\n if (value == null || value === false || Number.isNaN(value)) {\n return defaultValue || value\n }\n\n if (typeof value === 'string' && value.length === 0) {\n return defaultValue || value\n }\n\n return value\n}\n\n/**\n * Retrieve the key value from the props object\n * @example\n * ```jsx\n * -transform: scaleY(${(props) => props.$height || 1});\n * +transform: scaleY(${prop('$height', 1)});\n * ```\n * @param name a valid property name from the object\n * @param defaultValue a fallback value in case the property value is invalid\n * @param comparatorFn a function to be used to decide between value or defaultValue\n * @returns Returns function that consumes component props.\n */\nfunction prop<P, K extends keyof P = keyof P>(\n name: K,\n defaultValue?: NonNullable<P[K]>,\n comparatorFn = compare\n) {\n return (props: P): P[K] => comparatorFn(props[name], defaultValue) as P[K]\n}\n\nexport default prop\n"],"names":["whenProps","conditions","props","safeConditions","toArray","some","condition","keys","Object","every","key","propValue","get","conditionValue","Array","isArray","includes","isFunction","Boolean","handleConditionObject","res","reduce","acc","value","tokenKey","result","getToken","join","conditional","classes","i","length","push","isObject","concat","String","compare","args","defaultValue","Number","isNaN","prop","name","comparatorFn"],"mappings":";;;;;AA8BO,SAASA,UAAaC,YAAqD;AAChF,SAAO,SAAUC,OAAmB;AAClC,UAAMC,iBAAiBC,QAAQH,UAAU;AAEzC,WAAOE,eAAeE,KAAMC,CAAAA,cAAc;AACxC,YAAMC,OAAOC,OAAOD,KAAKD,SAAS;AAElC,aAAOC,KAAKE,MAAOC,CAAAA,QAAQ;AACzB,cAAMC,YAAYC,IAAIV,OAAOQ,GAAG;AAChC,cAAMG,iBAAiBP,UAAUI,GAA6B;AAE9D,YAAII,MAAMC,QAAQF,cAAc,GAAG;AACjC,iBAAOT,QAAQS,cAAc,EAAEG,SAASL,SAAS;AAAA,QACnD;AACA,YAAIM,WAAWJ,cAAc,GAAG;AAC9B,iBAAOK,QAAQL,eAAeF,SAAS,CAAC;AAAA,QAC1C;AACA,eAAQE,mBAA+BF;AAAAA,MACzC,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACF;AAOA,SAASQ,sBAAyBb,WAA+BJ,OAAkB;AACjF,QAAMK,OAAOC,OAAOD,KAAKD,SAAS;AAElC,QAAMc,MAAMb,KAAKc,OAAiB,CAACC,KAAKZ,QAAQ;AAC9C,QAAIa,QAAQjB,UAAUI,GAAG;AAEzB,QAAIO,WAAWM,KAAK,GAAG;AACrBA,cAAQA,MAAMrB,KAAK;AAAA,IACrB;AAEA,QAAIqB,OAAO;AACT,YAAMC,WAAWd;AAEjB,YAAMe,SAAUC,SAASF,UAAUtB,KAA+B,KAAKQ;AACvE,aAAO,CAAC,GAAGY,KAAKG,MAAM;AAAA,IACxB;AAEA,WAAOH;AAAAA,EACT,GAAG,CAAA,CAAE;AAEL,SAAOF,IAAIO,KAAK,GAAG;AACrB;AAkBA,SAASC,eAAkB3B,YAA4B;AACrD,SAAO,SAAUC,OAAkB;AACjC,QAAI2B,UAAoB,CAAA;AAExB,aAASC,IAAI,GAAGA,IAAI7B,WAAW8B,QAAQD,KAAK;AAC1C,YAAMxB,YAAYL,WAAW6B,CAAC;AAE9B,UAAIb,WAAWX,SAAS,GAAG;AACzBuB,gBAAQG,KAAK1B,UAAUJ,KAAK,CAAC;AAAA,MAC/B,WAAW+B,SAAS3B,SAAS,GAAG;AAC9BuB,kBAAUA,QAAQK,OAAOf,sBAAsBb,WAAWJ,KAAK,CAAC;AAAA,MAClE,WAAWI,WAAW;AACpBuB,gBAAQG,KAAKG,OAAO7B,SAAS,CAAC;AAAA,MAChC;AAAA,IACF;AAEA,WAAOuB,QAAQF,KAAK,GAAG;AAAA,EACzB;AACF;ACnHA,SAASS,WAAWC,MAAsB;AACxC,QAAM,CAACd,OAAOe,YAAY,IAAID;AAE9B,MAAId,SAAS,QAAQA,UAAU,SAASgB,OAAOC,MAAMjB,KAAK,GAAG;AAC3D,WAAOe,gBAAgBf;AAAAA,EACzB;AAEA,MAAI,OAAOA,UAAU,YAAYA,MAAMQ,WAAW,GAAG;AACnD,WAAOO,gBAAgBf;AAAAA,EACzB;AAEA,SAAOA;AACT;AAcA,SAASkB,KACPC,MACAJ,cACAK,eAAeP,SACf;AACA,SAAO,CAAClC,UAAmByC,aAAazC,MAAMwC,IAAI,GAAGJ,YAAY;AACnE;"}
@@ -1,13 +0,0 @@
1
- const toArray = (value) => {
2
- if (value == null) {
3
- return [];
4
- }
5
- if (Array.isArray(value)) {
6
- return value;
7
- }
8
- return [value];
9
- };
10
- export {
11
- toArray as t
12
- };
13
- //# sourceMappingURL=toArray-BJJzFRD1.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toArray-BJJzFRD1.js","sources":["../src/utils/toolset/toArray.ts"],"sourcesContent":["/**\n * Produces array for non-array value.\n * @param value - Value to be converted/returned.\n * @return Returns `value` itself if it is an array or\n * an array containing the provided `value`.\n */\nconst toArray = <T>(value: T | T[] | readonly T[] | undefined | null): T[] => {\n if (value == null) {\n return []\n }\n\n if (Array.isArray(value)) {\n return value\n }\n\n return [value as T]\n}\n\nexport default toArray\n"],"names":["toArray","value","Array","isArray"],"mappings":"AAMA,MAAMA,UAAU,CAAIC,UAA0D;AAC5E,MAAIA,SAAS,MAAM;AACjB,WAAO,CAAA;AAAA,EACT;AAEA,MAAIC,MAAMC,QAAQF,KAAK,GAAG;AACxB,WAAOA;AAAAA,EACT;AAEA,SAAO,CAACA,KAAU;AACpB;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}