{"_rev":"71-4a5ffa1242f99f02f6fd211d6028d3d3","time":{"created":"2025-02-12T14:52:03.102Z","modified":"2025-02-12T14:52:03.740Z","1.0.0":"2022-12-31T13:21:47.921Z","1.0.1":"2023-01-04T18:22:17.561Z","1.0.2":"2023-01-05T05:44:06.498Z","1.0.3":"2023-01-05T05:57:32.274Z","1.0.4":"2023-03-24T10:35:17.998Z","1.0.5":"2024-01-18T08:23:16.828Z","1.0.6":"2024-01-20T17:11:50.177Z","1.0.7":"2024-03-15T10:18:12.012Z","1.0.8":"2024-05-25T14:00:15.599Z","1.0.9":"2024-05-27T10:56:48.682Z","1.0.10":"2024-05-29T11:01:20.141Z","1.0.11":"2024-05-29T11:24:59.898Z","1.0.12":"2024-05-29T18:55:18.243Z","1.0.13":"2024-05-30T12:27:33.515Z","1.0.14":"2024-05-30T18:10:05.351Z","1.0.15":"2024-05-31T11:54:02.506Z","1.0.16":"2024-06-06T14:18:54.699Z","1.0.17":"2024-07-28T08:11:33.728Z","1.0.18":"2024-07-28T09:57:50.028Z","1.0.19":"2024-07-28T10:04:07.626Z","1.0.20":"2024-07-28T10:27:25.776Z","1.0.21":"2024-07-28T10:41:31.574Z","1.0.22":"2024-07-28T10:44:56.896Z","1.0.25":"2024-07-28T11:15:22.435Z","1.0.26":"2024-07-29T07:09:53.246Z","1.0.27":"2024-07-29T07:12:56.922Z","2.0.0":"2024-08-02T12:36:55.610Z","2.0.1":"2024-08-03T20:04:03.528Z","2.0.2":"2024-08-04T17:43:42.755Z","2.0.3":"2024-08-04T18:54:57.215Z","2.0.4":"2024-08-07T13:51:23.126Z","2.0.5":"2024-08-07T20:32:48.171Z","2.0.6":"2024-08-07T20:44:44.016Z","0.0.1":"2024-10-24T10:46:55.093Z","3.0.0":"2025-02-12T14:52:03.396Z"},"_id":"@kreattix/utils","name":"@kreattix/utils","dist-tags":{"latest":"3.0.0"},"versions":{"3.0.0":{"name":"@kreattix/utils","version":"3.0.0","type":"module","types":"./dist/index.d.ts","main":"./dist/kreattix-utils.cjs.js","module":"./dist/kreattix-utils.js","scripts":{"build":"tsc && vite build","test":"jest","test:watch":"jest --watch","format":"prettier --write ./lib/**/* --config .prettierrc","lint":"eslint ./lib/**/*.ts --config .eslintrc","lint:fix":"eslint --fix ./lib/**/*.ts --config .eslintrc"},"dependencies":{"@kreattix/colors":"../colors","@kreattix/constants":"../constants"},"devDependencies":{"@rollup/plugin-commonjs":"^26.0.1","@trivago/prettier-plugin-sort-imports":"^4.3.0","@types/jest":"^29.5.12","@types/node":"^22.0.2","@types/react":"^18.3.3","@typescript-eslint/eslint-plugin":"^7.18.0","@typescript-eslint/parser":"^7.18.0","eslint":"8.56.0","eslint-config-prettier":"^9.1.0","eslint-plugin-prettier":"^5.2.1","jest":"^29.7.0","jest-environment-jsdom":"^29.7.0","prettier":"^3.3.3","rollup-jest":"^3.1.0","ts-jest":"^29.2.3","ts-node":"^10.9.2","typescript":"^5.5.4","vite":"^5.3.5","vite-plugin-commonjs":"^0.10.1","vite-plugin-dts":"^4.0.0-beta.2","vite-tsconfig-paths":"^4.3.2"},"author":{"name":"Prince Patel"},"description":"A collection of utility functions for use in Kreattix projects.","homepage":"https://github.com/kreattix/utils?tab=readme-ov-file#readme","repository":{"type":"git","url":"git+https://github.com/kreattix/utils.git"},"license":"MIT","_id":"@kreattix/utils@3.0.0","gitHead":"c15da22f713faf4297360970f17fb36785b47d06","bugs":{"url":"https://github.com/kreattix/utils/issues"},"_nodeVersion":"20.18.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-UEZFtVN/IUO0oxI6aKiPMWdyvVNMRs9oi5vwD3Sy4yvmyKRKGKCkklMW4LFjEo11lbSMj+aGASJh/EyaqBS/+A==","shasum":"d3920646cad6e69a3194e20a8d7b08588d79730c","tarball":"https://registry.npmjs.org/@kreattix/utils/-/utils-3.0.0.tgz","fileCount":27,"unpackedSize":52256,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDPLJ5QrY2VfIP/wsphXCJO+HwI4U5tYOntIpCbakYRTwIgfl84l8+T0E1rjGdBuukGol5l14xnvb2vIL3gRn3kBbo="}]},"_npmUser":{"name":"patel-prince","email":"prpatel0949@gmail.com"},"directories":{},"maintainers":[{"name":"patel-prince","email":"prpatel0949@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/utils_3.0.0_1739371923230_0.9602690568923702"},"_hasShrinkwrap":false}},"maintainers":[{"name":"patel-prince","email":"prpatel0949@gmail.com"}],"description":"A collection of utility functions for use in Kreattix projects.","homepage":"https://github.com/kreattix/utils?tab=readme-ov-file#readme","repository":{"type":"git","url":"git+https://github.com/kreattix/utils.git"},"author":{"name":"Prince Patel"},"bugs":{"url":"https://github.com/kreattix/utils/issues"},"license":"MIT","readme":"# @kreattix/utils\n\nA collection of utility functions for various common tasks.\n\n## Installation\n\n```sh\nnpm install @kreattix/utils\n```\n\n## Usage\n\n### Classnames Utilities\n\n#### `classnames`\n\nCombines multiple class names into a single string.\n\n```typescript\nimport { classnames } from '@kreattix/utils'\n\nconst result = classnames(\n  'btn',\n  'btn-primary',\n  ['btn-large', 'btn-disabled']\n)\nconsole.log(result) // 'btn btn-primary btn-large btn-disabled'\n\nconst isActive = true\nconst isDisabled = false\nconst result = conditionalClassNames({\n  btn: true,\n  'btn-active': isActive,\n  'btn-disabled': isDisabled\n})\nconsole.log(result) // 'btn btn-active'\n```\n\n### Sizes Utilities\n\n#### `createSizes`\n\nGenerates size variations (small, medium, large) based on a given size.\n\n```typescript\nimport { createSizes } from '@kreattix/utils'\n\nconst sizes = createSizes([20, 10])\nconst result = sizes()\nconsole.log(result) // { large: '22px 12px', medium: '20px 10px', small: '18px 8px' }\n```\n\n### Stylesheet Utilities\n\n#### `StyleSheet.createStyle`\n\nCreates a style object with hyphenated properties and appended units.\n\n```typescript\nimport { StyleSheet } from '@kreattix/utils'\n\nstyleSheet = StyleSheet('prefix')\nconst styles = {\n  fontSize: '16px',\n  color: 'red'\n}\nconst generatedStyles = styleSheet.createStyle(styles)\nconsole.log(generatedStyles)\n// { 'font-size': '16px', 'line-height': '20px', color: 'red' }\n```\n\n#### `StyleSheet.getVariabledStyle`\n\nGenerates a style object with CSS variables.\n\n```typescript\nimport { StyleSheet } from '@kreattix/utils'\n\nstyleSheet = StyleSheet('prefix')\nconst styles = {\n  fontSize: '16px',\n  color: 'red'\n}\nconst generatedStyles = styleSheet.getVariabledStyle(styles, 'component')\nconsole.log(generatedStyles)\n// { 'font-size': 'var(--prefix-component-font-size, 16px)', color: 'var(--prefix-component-color, red)' }\n```\n\n#### `StyleSheet.createVariables`\n\nCreates CSS variables for the given styles.\n\n```typescript\nimport { StyleSheet } from '@kreattix/utils'\n\nstyleSheet = StyleSheet('prefix')\nconst vars = {\n  fontSize: '16px',\n  color: 'red'\n}\nconst generatedVariables = styleSheet.createVariables(vars, 'component')\nconsole.log(generatedVariables)\n// { '--prefix-component-font-size': '16px', '--prefix-component-color': 'red', '--prefix-component-font-size-large': '18px', '--prefix-component-font-size-small': '14px', '--prefix-component-line-height': '20px', '--prefix-component-line-height-large': '22px', '--prefix-component-line-height-small': '18px' }\n```\n\n#### `StyleSheet.createCSSObject`\n\nCreates a CSS object for a given selector and styles.\n\n```typescript\nimport { StyleSheet } from '@kreattix/utils'\n\nstyleSheet = StyleSheet('prefix')\nconst styles = {\n  fontSize: '16px',\n  color: 'red'\n}\nconst generatedStyles = styleSheet.createCSSObject(styles, '.selector', 'component')\nconsole.log(generatedStyles)\n// { '.selector': { 'font-size': 'var(--prefix-component-font-size, 16px)', color: 'var(--prefix-component-color, red)', 'line-height': 'var(--prefix-component-line-height, 20px)' }, '.selector.size-small': { 'font-size': 'var(--prefix-component-font-size-small, 14px)', 'line-height': 'var(--prefix-component-line-height-small, 18px)' }, '.selector.size-large': { 'font-size': 'var(--prefix-component-font-size-large, 18px)', 'line-height': 'var(--prefix-component-line-height-large, 22px)' } }\n```\n\n#### `StyleSheet.createCSS`\n\nGenerates a CSS string for a given selector and styles.\n\n```typescript\nimport { StyleSheet } from '@kreattix/utils'\n\nstyleSheet = StyleSheet('prefix')\nconst styles = {\n  fontSize: '16px',\n  color: 'red'\n}\nconst css = styleSheet.createCSS(styles, '.selector', 'component')\nconsole.log(css)\n// .selector {\\nfont-size: var(--prefix-component-font-size, 16px);\\ncolor: var(--prefix-component-color, red);\\nline-height: var(--prefix-component-line-height, 20px);\\n}\\n.selector.size-small {\\nfont-size: var(--prefix-component-font-size-small, 14px);\\nline-height: var(--prefix-component-line-height-small, 18px);\\n}\\n.selector.size-large {\\nfont-size: var(--prefix-component-font-size-large, 18px);\\nline-height: var(--prefix-component-line-height-large, 22px);\\n}\\n\n```\n\n#### `StyleSheet.setStyles`\n\nSets styles on a given HTML element.\n\n```typescript\nimport { StyleSheet } from '@kreattix/utils'\n\nstyleSheet = StyleSheet('prefix')\nconst element = document.createElement('div')\nconst styles = {\n  color: 'red',\n  fontSize: 16,\n  fontWeight: 'bold'\n}\nStyleSheet.setStyles(element, styleSheet.createStyle(styles))\nconsole.log(element.style.getPropertyValue('color')) // 'red'\nconsole.log(element.style.getPropertyValue('font-size')) // '16px'\nconsole.log(element.style.getPropertyValue('font-weight')) // 'bold'\n```\n\n### Object Utilities\n\n#### `objectKeys`\n\nReturns an array of the keys of an object.\n\n```typescript\nimport { objectKeys } from '@kreattix/utils'\n\nconst obj = { name: 'John', age: 28 }\nconst keys = objectKeys(obj)\nconsole.log(keys) // ['name', 'age']\n```\n\n#### `objectValues`\n\nReturns an array of the values of an object.\n\n```typescript\nimport { objectValues } from '@kreattix/utils'\n\nconst obj = { name: 'John', age: 28 }\nconst values = objectValues(obj)\nconsole.log(values) // ['John', 28]\n```\n\n#### `objectEntries`\n\nReturns an array of the key-value pairs of an object.\n\n```typescript\nimport { objectEntries } from '@kreattix/utils'\n\nconst obj = { name: 'John', age: 28 }\nconst entries = objectEntries(obj)\nconsole.log(entries) // [['name', 'John'], ['age', 28]]\n```\n\n### String Utilities\n\n#### `toNumber`\n\nConverts a string containing numbers into an array of numbers.\n\n```typescript\nimport { toNumber } from '@kreattix/utils'\n\nconst text = '10px 20px'\nconst result = toNumber(text)\nconsole.log(result) // [10, 20]\n```\n\n#### `hyphenize`\n\nConverts a camelCase or PascalCase string to a hyphenated string.\n\n```typescript\nimport { hyphenize } from '@kreattix/utils'\n\nconst text = 'camelCaseString'\nconst result = hyphenize(text)\nconsole.log(result) // 'camel-case-string'\n```\n","readmeFilename":"README.md"}