@loadsmart/loadsmart-ui 7.7.0-beta.1 → 8.0.0-rc.1

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 (50) hide show
  1. package/README.md +1 -3
  2. package/dist/components/Breadcrumbs/Breadcrumbs.stories.d.ts +1 -1
  3. package/dist/components/Calendar/Calendar.stories.d.ts +1 -1
  4. package/dist/components/Calendar/Pickers/DayPicker.d.ts +1 -1
  5. package/dist/components/Card/Card.stories.d.ts +5 -5
  6. package/dist/components/DatePicker/DatePicker.stories.d.ts +3 -3
  7. package/dist/components/DatePicker/DateRangePicker.stories.d.ts +3 -3
  8. package/dist/components/DatePicker/useDatePicker.d.ts +8 -9
  9. package/dist/components/DatePicker/useDateRangePicker.d.ts +13 -14
  10. package/dist/components/Drawer/Drawer.stories.d.ts +3 -3
  11. package/dist/components/Dropdown/Dropdown.stories.d.ts +5 -5
  12. package/dist/components/Dropdown/DropdownTrigger.d.ts +1 -1
  13. package/dist/components/HighlightMatch/HighlightMatch.stories.d.ts +2 -2
  14. package/dist/components/IconFactory/IconFactory.d.ts +1 -1
  15. package/dist/components/IconFactory/IconFactory.stories.d.ts +2 -2
  16. package/dist/components/Loaders/LoadingBar.stories.d.ts +2 -2
  17. package/dist/components/Loaders/LoadingDots.stories.d.ts +3 -3
  18. package/dist/components/Loaders/Spinner.stories.d.ts +2 -2
  19. package/dist/components/Loaders/index.d.ts +3 -3
  20. package/dist/components/Pagination/Pagination.stories.d.ts +2 -2
  21. package/dist/components/Popover/Popover.stories.d.ts +2 -2
  22. package/dist/components/Select/Select.stories.d.ts +16 -16
  23. package/dist/components/Steps/Steps.stories.d.ts +2 -2
  24. package/dist/components/Switch/Switch.stories.d.ts +2 -2
  25. package/dist/components/Table/Table.d.ts +4 -4
  26. package/dist/components/Table/Table.types.d.ts +1 -1
  27. package/dist/components/TablePagination/TablePagination.stories.d.ts +2 -2
  28. package/dist/components/Text/Text.stories.d.ts +2 -2
  29. package/dist/components/ToggleGroup/ToggleGroup.stories.d.ts +3 -3
  30. package/dist/components/TopNavigation/Menu/MenuItemDropdown.d.ts +1 -1
  31. package/dist/components/VisuallyHidden/VisuallyHidden.stories.d.ts +1 -2
  32. package/dist/hooks/useFocusTrap/useFocusTrap.stories.d.ts +4 -4
  33. package/dist/index.js +7 -11
  34. package/dist/index.js.map +1 -1
  35. package/dist/{miranda-compatibility.theme-C_FEacSw.js → miranda-compatibility.theme-kYNEZ7mW.js} +2 -2
  36. package/dist/{miranda-compatibility.theme-C_FEacSw.js.map → miranda-compatibility.theme-kYNEZ7mW.js.map} +1 -1
  37. package/dist/{prop-B8LY6G2g.js → prop-K2Z3EsyG.js} +2 -2
  38. package/dist/{prop-B8LY6G2g.js.map → prop-K2Z3EsyG.js.map} +1 -1
  39. package/dist/styles/typography.d.ts +2 -4
  40. package/dist/testing/index.js +1 -1
  41. package/dist/tests/renderer.d.ts +1 -1
  42. package/dist/theming/index.js +1 -1
  43. package/dist/tools/index.js +1 -1
  44. package/dist/utils/toolset/flatten.d.ts +1 -1
  45. package/dist/utils/toolset/get.d.ts +1 -1
  46. package/dist/utils/toolset/isEmpty.d.ts +1 -1
  47. package/dist/utils/toolset/omit.d.ts +1 -1
  48. package/dist/utils/toolset/range.d.ts +1 -1
  49. package/package.json +40 -42
  50. package/dist/addons/Theme/register.d.ts +0 -1
@@ -1,7 +1,7 @@
1
1
  import { isObject } from "@loadsmart/utils-object";
2
2
  import { isFunction } from "@loadsmart/utils-function";
3
3
  import { getToken } from "./theming/index.js";
4
- import get from "lodash/get.js";
4
+ import { get } from "lodash-es";
5
5
  import { t as toArray } from "./toArray-Dxb1kUxx.js";
6
6
  function whenProps(conditions) {
7
7
  return function(props) {
@@ -78,4 +78,4 @@ export {
78
78
  prop as p,
79
79
  whenProps as w
80
80
  };
81
- //# sourceMappingURL=prop-B8LY6G2g.js.map
81
+ //# sourceMappingURL=prop-K2Z3EsyG.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"prop-B8LY6G2g.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 {...Object} conditions\n * @returns {(props: Object}) => boolean} 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 let res = false\n\n for (let i = 0; i < safeConditions.length; i++) {\n const condition = safeConditions[i]\n const keys = Object.keys(condition)\n\n let temp = true\n\n for (let j = 0; j < keys.length && temp; j++) {\n const key = keys[j]\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 temp = temp && toArray(conditionValue).includes(propValue)\n } else if (isFunction(conditionValue)) {\n temp = temp && Boolean(conditionValue(propValue))\n } else {\n temp = temp && (conditionValue as unknown) === propValue\n }\n }\n\n res = res || temp\n }\n\n return res\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((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 const result = (getToken(tokenKey, props as unknown as ThemedProps) ?? key) as string\n return [...acc, result]\n }\n\n return acc\n }, [] as string[])\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 {(props: ThemedProps) => string} 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<P>(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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\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 {(props: ThemedProps) => string} 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","res","i","length","condition","keys","Object","temp","j","key","propValue","get","conditionValue","Array","isArray","includes","isFunction","Boolean","handleConditionObject","reduce","acc","value","tokenKey","result","getToken","join","conditional","classes","push","isObject","concat","String","compare","args","defaultValue","Number","isNaN","prop","name","comparatorFn"],"mappings":";;;;;AA8BO,SAASA,UAAaC,YAAqD;AAChF,SAAO,SAAUC,OAAmB;AAC5BC,UAAAA,iBAAiBC,QAAQH,UAAU;AAEzC,QAAII,MAAM;AAEV,aAASC,IAAI,GAAGA,IAAIH,eAAeI,QAAQD,KAAK;AACxCE,YAAAA,YAAYL,eAAeG,CAAC;AAC5BG,YAAAA,OAAOC,OAAOD,KAAKD,SAAS;AAElC,UAAIG,OAAO;AAEX,eAASC,IAAI,GAAGA,IAAIH,KAAKF,UAAUI,MAAMC,KAAK;AACtCC,cAAAA,MAAMJ,KAAKG,CAAC;AACZE,cAAAA,YAAYC,IAAIb,OAAOW,GAAG;AAC1BG,cAAAA,iBAAiBR,UAAUK,GAA6B;AAE1DI,YAAAA,MAAMC,QAAQF,cAAc,GAAG;AACjCL,iBAAOA,QAAQP,QAAQY,cAAc,EAAEG,SAASL,SAAS;AAAA,QAAA,WAChDM,WAAWJ,cAAc,GAAG;AACrCL,iBAAOA,QAAQU,QAAQL,eAAeF,SAAS,CAAC;AAAA,QAAA,OAC3C;AACLH,iBAAOA,QAASK,mBAA+BF;AAAAA,QAAAA;AAAAA,MACjD;AAGFT,YAAMA,OAAOM;AAAAA,IAAAA;AAGRN,WAAAA;AAAAA,EACT;AACF;AAOA,SAASiB,sBAAyBd,WAA+BN,OAAkB;AACjF,QAAMO,OAAOC,OAAOD,KAAKD,aAAa,CAAA,CAAE;AAExC,QAAMH,MAAMI,KAAKc,OAAO,CAACC,KAAKX,QAAQ;AAChCY,QAAAA,QAAQjB,UAAUK,GAAG;AAErBO,QAAAA,WAAWK,KAAK,GAAG;AACrBA,cAAQA,MAAMvB,KAAK;AAAA,IAAA;AAGrB,QAAIuB,OAAO;AACT,YAAMC,WAAWb;AACjB,YAAMc,SAAUC,SAASF,UAAUxB,KAA+B,KAAKW;AAChE,aAAA,CAAC,GAAGW,KAAKG,MAAM;AAAA,IAAA;AAGjBH,WAAAA;AAAAA,EACT,GAAG,EAAc;AAEVnB,SAAAA,IAAIwB,KAAK,GAAG;AACrB;AAkBA,SAASC,eAAkB7B,YAA4B;AACrD,SAAO,SAAUC,OAAkB;AACjC,QAAI6B,UAAoB,CAAE;AAE1B,aAASzB,IAAI,GAAGA,IAAIL,WAAWM,QAAQD,KAAK;AACpCE,YAAAA,YAAYP,WAAWK,CAAC;AAE1Bc,UAAAA,WAAWZ,SAAS,GAAG;AACjBwB,gBAAAA,KAAKxB,UAAUN,KAAK,CAAC;AAAA,MAAA,WACpB+B,SAASzB,SAAS,GAAG;AAC9BuB,kBAAUA,QAAQG,OAAOZ,sBAAyBd,WAAWN,KAAK,CAAC;AAAA,iBAC1DM,WAAW;AACZwB,gBAAAA,KAAKG,OAAO3B,SAAS,CAAC;AAAA,MAAA;AAAA,IAChC;AAGKuB,WAAAA,QAAQF,KAAK,GAAG;AAAA,EACzB;AACF;AC5HA,SAASO,WAAWC,MAAsB;AAElC,QAAA,CAACZ,OAAOa,YAAY,IAAID;AAE9B,MAAIZ,SAAS,QAAQA,UAAU,SAASc,OAAOC,MAAMf,KAAK,GAAG;AAC3D,WAAOa,gBAAgBb;AAAAA,EAAAA;AAGzB,MAAI,OAAOA,UAAU,YAAYA,MAAMlB,WAAW,GAAG;AACnD,WAAO+B,gBAAgBb;AAAAA,EAAAA;AAGlBA,SAAAA;AACT;AAcA,SAASgB,KACPC,MACAJ,cACAK,eAAeP,SACf;AACA,SAAO,CAAClC,UAAmByC,aAAazC,MAAMwC,IAAI,GAAGJ,YAAY;AACnE;"}
1
+ {"version":3,"file":"prop-K2Z3EsyG.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 {...Object} conditions\n * @returns {(props: Object}) => boolean} 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 let res = false\n\n for (let i = 0; i < safeConditions.length; i++) {\n const condition = safeConditions[i]\n const keys = Object.keys(condition)\n\n let temp = true\n\n for (let j = 0; j < keys.length && temp; j++) {\n const key = keys[j]\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 temp = temp && toArray(conditionValue).includes(propValue)\n } else if (isFunction(conditionValue)) {\n temp = temp && Boolean(conditionValue(propValue))\n } else {\n temp = temp && (conditionValue as unknown) === propValue\n }\n }\n\n res = res || temp\n }\n\n return res\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((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 const result = (getToken(tokenKey, props as unknown as ThemedProps) ?? key) as string\n return [...acc, result]\n }\n\n return acc\n }, [] as string[])\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 {(props: ThemedProps) => string} 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<P>(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 // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\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 {(props: ThemedProps) => string} 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","res","i","length","condition","keys","Object","temp","j","key","propValue","get","conditionValue","Array","isArray","includes","isFunction","Boolean","handleConditionObject","reduce","acc","value","tokenKey","result","getToken","join","conditional","classes","push","isObject","concat","String","compare","args","defaultValue","Number","isNaN","prop","name","comparatorFn"],"mappings":";;;;;AA8BO,SAASA,UAAaC,YAAqD;AAChF,SAAO,SAAUC,OAAmB;AAC5BC,UAAAA,iBAAiBC,QAAQH,UAAU;AAEzC,QAAII,MAAM;AAEV,aAASC,IAAI,GAAGA,IAAIH,eAAeI,QAAQD,KAAK;AACxCE,YAAAA,YAAYL,eAAeG,CAAC;AAC5BG,YAAAA,OAAOC,OAAOD,KAAKD,SAAS;AAElC,UAAIG,OAAO;AAEX,eAASC,IAAI,GAAGA,IAAIH,KAAKF,UAAUI,MAAMC,KAAK;AACtCC,cAAAA,MAAMJ,KAAKG,CAAC;AACZE,cAAAA,YAAYC,IAAIb,OAAOW,GAAG;AAC1BG,cAAAA,iBAAiBR,UAAUK,GAA6B;AAE1DI,YAAAA,MAAMC,QAAQF,cAAc,GAAG;AACjCL,iBAAOA,QAAQP,QAAQY,cAAc,EAAEG,SAASL,SAAS;AAAA,QAAA,WAChDM,WAAWJ,cAAc,GAAG;AACrCL,iBAAOA,QAAQU,QAAQL,eAAeF,SAAS,CAAC;AAAA,QAAA,OAC3C;AACLH,iBAAOA,QAASK,mBAA+BF;AAAAA,QAAAA;AAAAA,MACjD;AAGFT,YAAMA,OAAOM;AAAAA,IAAAA;AAGRN,WAAAA;AAAAA,EACT;AACF;AAOA,SAASiB,sBAAyBd,WAA+BN,OAAkB;AACjF,QAAMO,OAAOC,OAAOD,KAAKD,aAAa,CAAA,CAAE;AAExC,QAAMH,MAAMI,KAAKc,OAAO,CAACC,KAAKX,QAAQ;AAChCY,QAAAA,QAAQjB,UAAUK,GAAG;AAErBO,QAAAA,WAAWK,KAAK,GAAG;AACrBA,cAAQA,MAAMvB,KAAK;AAAA,IAAA;AAGrB,QAAIuB,OAAO;AACT,YAAMC,WAAWb;AACjB,YAAMc,SAAUC,SAASF,UAAUxB,KAA+B,KAAKW;AAChE,aAAA,CAAC,GAAGW,KAAKG,MAAM;AAAA,IAAA;AAGjBH,WAAAA;AAAAA,EACT,GAAG,EAAc;AAEVnB,SAAAA,IAAIwB,KAAK,GAAG;AACrB;AAkBA,SAASC,eAAkB7B,YAA4B;AACrD,SAAO,SAAUC,OAAkB;AACjC,QAAI6B,UAAoB,CAAE;AAE1B,aAASzB,IAAI,GAAGA,IAAIL,WAAWM,QAAQD,KAAK;AACpCE,YAAAA,YAAYP,WAAWK,CAAC;AAE1Bc,UAAAA,WAAWZ,SAAS,GAAG;AACjBwB,gBAAAA,KAAKxB,UAAUN,KAAK,CAAC;AAAA,MAAA,WACpB+B,SAASzB,SAAS,GAAG;AAC9BuB,kBAAUA,QAAQG,OAAOZ,sBAAyBd,WAAWN,KAAK,CAAC;AAAA,iBAC1DM,WAAW;AACZwB,gBAAAA,KAAKG,OAAO3B,SAAS,CAAC;AAAA,MAAA;AAAA,IAChC;AAGKuB,WAAAA,QAAQF,KAAK,GAAG;AAAA,EACzB;AACF;AC5HA,SAASO,WAAWC,MAAsB;AAElC,QAAA,CAACZ,OAAOa,YAAY,IAAID;AAE9B,MAAIZ,SAAS,QAAQA,UAAU,SAASc,OAAOC,MAAMf,KAAK,GAAG;AAC3D,WAAOa,gBAAgBb;AAAAA,EAAAA;AAGzB,MAAI,OAAOA,UAAU,YAAYA,MAAMlB,WAAW,GAAG;AACnD,WAAO+B,gBAAgBb;AAAAA,EAAAA;AAGlBA,SAAAA;AACT;AAcA,SAASgB,KACPC,MACAJ,cACAK,eAAeP,SACf;AACA,SAAO,CAAClC,UAAmByC,aAAazC,MAAMwC,IAAI,GAAGJ,YAAY;AACnE;"}
@@ -1,5 +1,4 @@
1
- import { ThemedStyledProps, FlattenInterpolation } from 'styled-components';
2
- import { CustomTheme, ThemeToken } from '../theming';
1
+ import { ThemeToken } from '../theming';
3
2
  export type TypographyOptions = {
4
3
  italic?: boolean;
5
4
  color?: ThemeToken;
@@ -15,12 +14,11 @@ type PropertiesToken = {
15
14
  export type TypographyVariants = 'heading-lg' | 'heading-md' | 'heading-md-bold' | 'heading-sm' | 'heading-sm-bold' | 'body' | 'body-bold' | 'caption' | 'caption-bold' | 'number-sm' | 'number-md' | 'button-sm' | 'button-md' | 'button-lg' | 'table-header-sm' | 'table-header-md' | 'chips-sm' | 'link';
16
15
  type TypographyProperties = Record<TypographyVariants, PropertiesToken>;
17
16
  export declare const typographyProperties: TypographyProperties;
18
- type StyledTemplate<P> = FlattenInterpolation<ThemedStyledProps<P, CustomTheme>>;
19
17
  /**
20
18
  * Standard styles for screen-rendered text
21
19
  * @param {TypographyVariants} variant Name of the variant
22
20
  * @param {TypographyOptions} options Add boldness, italics and color
23
21
  * @returns {FlattenInterpolation}
24
22
  */
25
- declare function typography<P>(variant?: TypographyVariants | ((props: P) => string), options?: TypographyOptions): StyledTemplate<P> | ((props: P) => StyledTemplate<P>);
23
+ declare function typography<P>(variant?: TypographyVariants | ((props: P) => string), options?: TypographyOptions): import('styled-components').FlattenInterpolation<import('styled-components').ThemedStyledProps<import('../theming').ThemedProps, any>> | ((props: P) => import('styled-components').FlattenInterpolation<import('styled-components').ThemedStyledProps<import('../theming').ThemedProps, any>> | ((props: unknown) => import('styled-components').FlattenInterpolation<import('styled-components').ThemedStyledProps<import('../theming').ThemedProps, any>> | /*elided*/ any));
26
24
  export default typography;
@@ -1,7 +1,7 @@
1
1
  import { queries, fireEvent, act, waitFor, createEvent, within, waitForElementToBeRemoved, render } from "@testing-library/react";
2
2
  import { t as toArray } from "../toArray-Dxb1kUxx.js";
3
3
  import { isFunction } from "@loadsmart/utils-function";
4
- import { a as alice } from "../miranda-compatibility.theme-C_FEacSw.js";
4
+ import { a as alice } from "../miranda-compatibility.theme-kYNEZ7mW.js";
5
5
  import React__default from "react";
6
6
  import { D as DragDropFileContext } from "../DragDropFile.context-oKnUu6d3.js";
7
7
  function getContainerFromInput(input) {
@@ -3,7 +3,7 @@ import { default as userEvent } from '@testing-library/user-event';
3
3
  declare class Renderer {
4
4
  result: React.ReactElement;
5
5
  constructor(children: React.ReactElement);
6
- render(options?: Omit<RenderOptions, 'queries'>): import('@testing-library/react').RenderResult<typeof queries, HTMLElement>;
6
+ render(options?: Omit<RenderOptions, 'queries'>): import('@testing-library/react').RenderResult<typeof queries, HTMLElement, HTMLElement>;
7
7
  }
8
8
  export default function customRenderer(children: React.ReactElement): Renderer;
9
9
  export { act, fireEvent as fire, queries, screen, userEvent as user, waitFor, waitForElementToBeRemoved, within, };
@@ -1,5 +1,5 @@
1
1
  import { isFunction } from "@loadsmart/utils-function";
2
- import { a as alice, l as loadsmart, m as mirandaCompatibility } from "../miranda-compatibility.theme-C_FEacSw.js";
2
+ import { a as alice, l as loadsmart, m as mirandaCompatibility } from "../miranda-compatibility.theme-kYNEZ7mW.js";
3
3
  const index = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
4
4
  __proto__: null,
5
5
  Alice: alice,
@@ -1,4 +1,4 @@
1
- import { c, p, w } from "../prop-B8LY6G2g.js";
1
+ import { c, p, w } from "../prop-K2Z3EsyG.js";
2
2
  export {
3
3
  c as conditional,
4
4
  p as prop,
@@ -1,2 +1,2 @@
1
- import { flatten } from 'lodash';
1
+ import { flatten } from 'lodash-es';
2
2
  export default flatten;
@@ -1,2 +1,2 @@
1
- import { get } from 'lodash';
1
+ import { get } from 'lodash-es';
2
2
  export default get;
@@ -1,2 +1,2 @@
1
- import { isEmpty } from 'lodash';
1
+ import { isEmpty } from 'lodash-es';
2
2
  export default isEmpty;
@@ -1,2 +1,2 @@
1
- import { omit } from 'lodash';
1
+ import { omit } from 'lodash-es';
2
2
  export default omit;
@@ -1,2 +1,2 @@
1
- import { range } from 'lodash';
1
+ import { range } from 'lodash-es';
2
2
  export default range;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loadsmart/loadsmart-ui",
3
- "version": "7.7.0-beta.1",
3
+ "version": "8.0.0-rc.1",
4
4
  "description": "Miranda UI, a React UI library",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -16,8 +16,12 @@
16
16
  "test-watch": "yarn test --watch",
17
17
  "build": "vite build",
18
18
  "docs:build": "storybook build -o ./docs",
19
- "docs:deploy": "gh-pages -d docs -m \"chore(docs): update gh-pages [skip ci]\"",
20
- "release": "semantic-release",
19
+ "release:ci": "semantic-release",
20
+ "build:ci": "yarn build",
21
+ "test:ci": "yarn test --ci --coverage --reporters=default --reporters=jest-junit -w 4",
22
+ "check:lint:ci": "yarn lint",
23
+ "docs:build:ci": "yarn docs:build --disable-telemetry",
24
+ "docs:deploy:ci": "gh-pages -d docs -m \"chore(docs): update gh-pages [skip ci]\"",
21
25
  "prepare": "husky"
22
26
  },
23
27
  "storybook-deployer": {
@@ -39,31 +43,27 @@
39
43
  "devDependencies": {
40
44
  "@commitlint/cli": "^19.8.0",
41
45
  "@commitlint/config-conventional": "^19.8.0",
42
- "@loadsmart/miranda-tokens": "^4.0.0-beta.59",
43
- "@optimize-lodash/rollup-plugin": "^5.0.2",
44
- "@semantic-release/git": "^9.0.0",
45
- "@storybook/addon-a11y": "^7.6.20",
46
- "@storybook/addon-docs": "^7.6.20",
47
- "@storybook/addon-essentials": "^7.6.20",
48
- "@storybook/addon-links": "^7.6.20",
49
- "@storybook/react": "^7.6.20",
50
- "@storybook/react-vite": "^7.6.20",
51
- "@storybook/theming": "^7.6.20",
52
- "@swc/core": "^1.11.15",
46
+ "@loadsmart/miranda-tokens": "^4.0.0-beta.60",
47
+ "@storybook/addon-a11y": "^8.6.12",
48
+ "@storybook/addon-docs": "^8.6.12",
49
+ "@storybook/addon-essentials": "^8.6.12",
50
+ "@storybook/addon-links": "^8.6.12",
51
+ "@storybook/react": "^8.6.12",
52
+ "@storybook/react-vite": "^8.6.12",
53
+ "@storybook/theming": "^8.6.12",
54
+ "@swc/core": "^1.11.18",
53
55
  "@swc/jest": "^0.2.37",
54
- "@tailwindcss/postcss7-compat": "^2.1.2",
55
- "@testing-library/dom": "^8.20.0",
56
- "@testing-library/jest-dom": "^5.16.5",
57
- "@testing-library/react": "^11.2.7",
58
- "@testing-library/react-hooks": "^5.1.3",
56
+ "@tailwindcss/vite": "^4.1.3",
57
+ "@testing-library/dom": "^10.4.0",
58
+ "@testing-library/jest-dom": "^6.6.3",
59
+ "@testing-library/react": "^16.3.0",
60
+ "@testing-library/react-hooks": "^8.0.1",
59
61
  "@testing-library/user-event": "^13.5.0",
60
62
  "@types/chance": "^1.1.1",
61
63
  "@types/jest": "^29.5.14",
62
- "@types/mdx": "^2.0.2",
63
64
  "@types/node": "^22.13.16",
64
- "@types/react": "^17.0.85",
65
- "@types/react-dom": "^17.0.26",
66
- "@types/react-test-renderer": "^17.0.1",
65
+ "@types/react": "^18.3.20",
66
+ "@types/react-dom": "^18.3.6",
67
67
  "@types/styled-components": "^5.1.34",
68
68
  "@typescript-eslint/eslint-plugin": "^4.22.1",
69
69
  "@typescript-eslint/parser": "^4.22.1",
@@ -71,13 +71,12 @@
71
71
  "babel-plugin-styled-components": "^2.1.4",
72
72
  "chance": "^1.1.8",
73
73
  "commitizen": "^4.2.4",
74
- "cross-env": "^7.0.3",
75
74
  "cz-conventional-changelog": "^3.3.0",
76
75
  "eslint": "^7.26.0",
77
- "eslint-config-prettier": "^8.3.0",
76
+ "eslint-config-prettier": "^10.1.1",
78
77
  "eslint-plugin-jest-dom": "^3.8.1",
79
78
  "eslint-plugin-jsx-a11y": "^6.4.1",
80
- "eslint-plugin-prettier": "^3.4.0",
79
+ "eslint-plugin-prettier": "^5.2.6",
81
80
  "eslint-plugin-react": "^7.23.2",
82
81
  "eslint-plugin-react-hooks": "^4.2.0",
83
82
  "eslint-plugin-storybook": "^0.6.12",
@@ -89,18 +88,19 @@
89
88
  "jest-junit": "^16.0.0",
90
89
  "jest-transformer-svg": "^2.1.0",
91
90
  "lint-staged": "^15.5.0",
92
- "prettier": "^2.8.4",
93
- "react": "^17.0.2",
94
- "react-dom": "^17.0.2",
95
- "react-is": "^17.0.2",
96
- "react-syntax-highlighter": "^15.6.1",
97
- "semantic-release": "^17.4.2",
98
- "storybook": "^7.6.20",
91
+ "nanoid": "^5.1.5",
92
+ "prettier": "^3.5.3",
93
+ "react": "^18.3.1",
94
+ "react-docgen-typescript": "^2.2.2",
95
+ "react-dom": "^18.3.1",
96
+ "react-is": "^18.0.2",
97
+ "semantic-release": "^24.2.3",
98
+ "storybook": "^8.6.12",
99
99
  "styled-components": "^5.3.11",
100
- "tailwindcss": "npm:@tailwindcss/postcss7-compat",
100
+ "tailwindcss": "^4.1.3",
101
101
  "ts-toolbelt": "^9.6.0",
102
- "typescript": "^5.8.2",
103
- "vite": "^6.2.4",
102
+ "typescript": "^5.8.3",
103
+ "vite": "^6.2.5",
104
104
  "vite-plugin-dts": "^4.5.3",
105
105
  "vite-plugin-svgr": "^4.3.0"
106
106
  },
@@ -116,8 +116,9 @@
116
116
  "@loadsmart/utils-function": "0.3.1",
117
117
  "@loadsmart/utils-object": "0.3.1",
118
118
  "@loadsmart/utils-string": "0.3.1",
119
+ "@types/lodash-es": "^4.17.12",
119
120
  "clsx": "^2.1.1",
120
- "lodash": "^4.17.21"
121
+ "lodash-es": "^4.17.21"
121
122
  },
122
123
  "repository": {
123
124
  "type": "git",
@@ -133,11 +134,8 @@
133
134
  }
134
135
  },
135
136
  "resolutions": {
136
- "react": "17.0.2",
137
- "react-dom": "17.0.2",
138
- "@types/react": "17.0.85",
139
- "@types/react-dom": "17.0.26",
140
- "react-is": "17.0.2"
137
+ "@types/react": "18.3.20",
138
+ "@types/react-dom": "18.3.6"
141
139
  },
142
140
  "packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
143
141
  }
@@ -1 +0,0 @@
1
- export {};