{"_id":"@yz1311/taro-calendar-customizable","_rev":"42-44ff7af45760473fd6209aa5cbe6f6b0","name":"@yz1311/taro-calendar-customizable","dist-tags":{"beta":"2.0.5-beta1","latest":"2.0.8","beta1":"2.0.4-beta1","beta2":"2.0.3-beta2","beta3":"2.0.3-beta3","beta4":"2.0.3-beta4","beta5":"2.0.3-beta5","beta21":"2.0.4-beta21"},"versions":{"2.0.1":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.1","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"246aff245f9cda857b28549d8da22d0861e87baf","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.1","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-9ETz2xJ1I1vXfFYXgLQyuLqi5FcX2TxwZ3d3ysqd5jrkR4QrD1MmHjGCGwYjzQovLo2Z5Sof5ODQ5UZTDVqa8A==","shasum":"ae14b4d2631665e568916b50d4ce2433466e917c","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.1.tgz","fileCount":18,"unpackedSize":175260,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvdEnCRA9TVsSAnZWagAAxKYQAKQmTraTNqn59de6P6Ok\nStx0SrPeEKnWC4jgoV0AbVcQbY7oMijSH+5s8BTlYB3XjXxmI7tDGukKZMK0\nRjQqvWlwlJ2oUBkzp875qT79ousHMtpraa5U+4LEgX3HZ0spAwPr41J/XG2f\nonuW+gGX7RYlEKIMQwlYbSvh7GPC4/DkQZkvc3BjUvK7n1lJqFk9lJWFBI3p\nmMF1uaVm/mMBb4Sm0w3LCQ8jGOY44MVMGRbnHKUge3okaJ8h5qcttgoAJi4g\nMgE2zpxuzi8I2C0ONvaLNII1MQ8saD5bpGLh7bTIjg9PxAaK8uWsPvjrL8wk\nlPvUcCLkc+wPWPFoWAIvPR3hEk4V2VnZ5YsV4fOBok3gZ2ZI6D6D4yNoMXk5\nUEgXnhyQPWy/bvl2emPe2YpFT2W2Q97g9hRVtgj2w7Q7V7WeNqhHYrTvyhem\nqpIQtObPqKRzgZDdeYzPxUo4OME4iu0zUqitRSVCLApIU8gyVVv16e3egirr\nYVwaICrS+D34bMVkdtKWv2P49O0DuFUZD8d44yuYqerNz66ddmSz4LTztPxx\n5Q27xISAuQMmNpQiYf3AnlyVR9RgGtRbZTwgot/BQkMD9usHeSzEOyAVCh7I\njLwCY/snL39ZLJfA22znKMeI2i04sMFmBy7GPV1jwaiVhJ8BsOnVLiK1TQb8\nbLX5\r\n=mEaA\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIApj7GJKKEWZe9Fy6pZEkZgpq4Yw45jzF9KE7cnLp7cmAiAJWwBx32TBeVl9wVCyiPWPf+Wt5UAEt01o0HBmcqU5UA=="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.1_1606275366921_0.9106169701128255"},"_hasShrinkwrap":false},"2.0.2":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.2","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"246aff245f9cda857b28549d8da22d0861e87baf","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.2","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Ld7x+6CgNdef04xiB1CWiX5N/kmIn6o6To6UXOxSJe383TR7LQs3SJn/jUZv3Xef6iJRDXouqzVWcikr16giDQ==","shasum":"51cfbc214e02a4c157850a0533d979609c1363e2","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.2.tgz","fileCount":18,"unpackedSize":174324,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvdMXCRA9TVsSAnZWagAAepQP/jx0gUHqzQm1suAvKu4J\n/wap2pioA5GzULsLgvOPhtQhKKI1ntKO6Sypiqb8ws+stmcOWInXrvpozlw1\nqsOGlhUqavk4SoQjQwQYXDVsu3ElBi8Ilplc7oqgOw76bsOIY03k8gOdS+w7\n9E/Ue46YmVFL72VftY1nIZUT1oxZj/Xa3b05K3iEf8uIqDpzGQu789yEm1SZ\nde1SdGhvIIR/I7gnykXblcAxKp2oRKw9a9vWDt9OX6VbdoGoatOtxgjx0ugS\nQizzp5fMkf499VOHO+iR3i6NjKSjT/uFSYXclGuwN8t0KKM7HObOx7MK1Vt3\nVYROvuw94g5HPFuNH8PAykUwxiNG1JK9Qo5JFnbDG+hYqnJziDIRBYRVhRYM\nS7jSNwwh+Z2539kvDs43zfAiUf7Tlqbh/7dRhttyYWazBTRn0rUmF2u8ddgf\n6HCAZk5GkFZRRDmnoJLEg0nPltYeahy1jRNOY1D/P3GQZWQR72KZWvI7QZy/\nMo4m9eRRhj+b6MmjwZGKDOzaMtQKU+OCrfqlLPnIIBs9e9t3N8eS/u9HxoVJ\nljy2JCr1BZ2bCIpDpwXs6RSpWeF76M67UMNdT//W5MbHW3oSTS7StGb4BTMa\nm+nZa5NCTtTVIsHSv3SLyr2buOT3/BcGvcOMzkBoNECgW83u51JZvE4agYVE\nDZpk\r\n=bF1G\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDittTKR9xp2Xxhbwj5qHr+6lSaAVjMphr2tDj1sxCiDgIgTVyGyVBG+pgulqPHQatr4MyZFpexPf00B3rKBLqjt0M="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.2_1606275863100_0.04577850182529786"},"_hasShrinkwrap":false},"2.0.3-beta1":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.3-beta1","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"63cf0a16edc669e7e2a2d410c97120f83827eb58","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.3-beta1","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-vc42CVI2RBYPUeWmlk69HXE0enEJg8Rng+pUAr0ef/PMpA7tR4JyZWHWsWqo/Ibb5kkbpL36cCB8d5deuQvJkA==","shasum":"d4344fafc1a1369fd9e9145755f3d1e05079e493","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.3-beta1.tgz","fileCount":21,"unpackedSize":177942,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvhNhCRA9TVsSAnZWagAAbQIP/0pMflq4dItaHpbXrUqP\n917kVv6pk5MB0ij8UJAvxg/ir2YpPUNT2cRDq1iZBcrcem2H2f69HLdJLSOQ\ndTnfweUAJ18zbQbGrllU2Pewm0mAwLoyWi4L91/3FaTghorrDwakmMeNgSTx\ngZIt2Xju49BUBjHYw36gI+70E9LRZsnahG+7OGT0jOwBlva+qWzvKhTZmlV0\nIDd/oBAt3whgK9u2G+o+ns3hYdQPUB/DRuCyXMbPkrYvPpGenUX5PHYUgrNd\n8hF+vvCSuoLaUx77FZdE2HoAMN4PeP4AmJcYaK95npVXdYVBHyE9LehiQziO\nsPELWVWdVJsHXOx6Fyz2RNB53LpzRKEYWSze0eSMSrzzJ0s/Dxra6jmh1gm1\n231205lyX+h1IAzJBDOERcZWXnfy1KRyU/Mha7Z9LkOedpQjWCyqj4n4YXPp\nAi67vZuWnA+tJ2zENoZ/js9qn4WFiWXlWKrpcQaQreoId28dRRZjskXcxeQ3\nHRcF7DYuQf+2/yaOHS7QokfnjxS7vvfaH0/bS3OGnJGIpmbIkKX4kcEl2yqt\nmHXUMWaszxuyLi/BNkt0KXAnnJ8+PCTCp2OWaKifnaKhvdGIiXhL2vWbAzUE\nMyMEBVFu91sAlNeq8WClWRCl3ujPuxspKixtjSwyJaYD4Za+468sto8BkWWC\nwCZu\r\n=kZwF\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIFiCvuC8UcQA/3HZCLCWzMOtIVkR6bh2dALvZJiyCpxNAiEAvzKabv0Ki50uvfXZXwgayE+4ot9qR0JsOu8rh38XssM="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.3-beta1_1606292321346_0.7719127222420292"},"_hasShrinkwrap":false},"2.0.3-beta2":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.3-beta2","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"63cf0a16edc669e7e2a2d410c97120f83827eb58","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.3-beta2","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-bnUOOdZOI0ZUT/ZoOsJ02rprwHB1DyjanIrCiWA0GuPpm8cp/fyrxNrBOggDbjgoys8MqK4dTPKfGsO1JAlQOA==","shasum":"05c2d61029dec875f29c23e3c3ee1d18725838f7","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.3-beta2.tgz","fileCount":21,"unpackedSize":178487,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvh3qCRA9TVsSAnZWagAAue4P/A8tdD7GsNh5uyWI5bcm\nIi45UM2IH0vZbDvB1+h2A8g7Z3MW8m2ErZ0nu3LqAuSzf7jQHeGqrNaUTIi6\nGnbHU9DV8u1dtvu7M/uPttGHx7sgZ0CtAdDICTmSYuubQ17tfRNNmYiccTYs\nbNKLFDAFKIssazZmYtZj/CyjNqijZ4IgO3UaUsu8eOrne0qE49FAdchfB0mG\nMV1/Zgusa/G7l1syRvOndlp9M49LdNHxYtxtG/logvsqkSLBj5zh4oF7xMc0\nIMEbkIoTCa9/qrC4jKiq3PD9ph3aEMTIfCiTRcbhzj4CFpd6SE73B26qWAqP\n9KA8wQfnCJ3cl92I+R4kSMK32EPkvAqaNgqkf5XtZycTUJzeaBkGnenHQ6sa\nXAIvS8vy5IRP6x1VyQZ3njdNA5wW/kpEw2P9JdjkP4dqRloaJp1BMFWIN1sT\nNfwxHP0hO+SLr9s9tKY2C+BJiPGAVz8Chx+LCmtDbigE4s4GxzaqgOdk2wvz\nOvaxHdhz7gnb20JpYOjVfOreqXhe0Wk3iGboRVpMPJEzW+Hre0e80MPYL6EZ\nOm6h9FYHtPIWpcLet8d7BGWhPCVX9PDt6BNxSCivLm/Q6XFuneLYIn3YMR+9\n5A4+LS/9784umU3Ol3psqvUIZKQGiYLDm13+11eARh9t2jFxoYazhI0cb5ci\nJAJw\r\n=NHkb\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDXMilxVhVXhJ1/CIhYiyRuv/E8d8Yex2C583Uy0bfw2QIhAJUXD2GqGTthQ+VJhx2dD/np1GtJjdNcfVopCt4bWm/e"}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.3-beta2_1606295017950_0.6107016878945675"},"_hasShrinkwrap":false},"2.0.3-beta3":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.3-beta3","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"8cb0d9a2108ed3f88740cb5d09c37566128fac39","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.3-beta3","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-tH20+5m+dThFpTNriY+QhVSLJgIFyXqjJVcYTHdiw4GQEJQKlm4aNNbflFShuNrL0uw1jpCe8NyiX1xaLEdJXg==","shasum":"167a072fdd849ff965edb898d5e865613d70e430","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.3-beta3.tgz","fileCount":21,"unpackedSize":180485,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvwY8CRA9TVsSAnZWagAAmmoP+gNLQkRQaodiMRz/dwaE\noFEc19iGvTTlYZrIQm8E6+ATtqdFsuhaTs2Xj7vEtP1fZ4p22hcH2SdcKB6K\nXJNmxiLWQEV19PIc6nwE5B5bONfAZZtsQ+4bNebJmvvyP3u0pfHyusGuU4BV\nvrSomCHz7z8DncQKljKY1K/br4Udt107EfMtnbS1IGKOdjfYJeMWhn/rWEsN\nM9Vb6QeZwE2kTanmmEwcGJ/sx1WqtoH2AY/HfGM2Jjo7+EudYsRF/Gs5m7ph\nfyha6NT5HdGrpnVNCkfzRrgsxNOuMwXqaKnAqQdUWN07DsKvzuZum0pAURcc\n2XuvTkRi8275QmH4eIwyMmW1U9c2LUYZ1LPvOG1beRM2chnoxTPsPFjyXFiv\nqSD4diu0W3B/kw54x6eeAkB6vDN6mCIew2pcm3lvVVxwGUh/y2gn3acml7t2\nM6v1bs1ezvNaze467r0GwGqG/0pw0FITh7+gh2PplCaF0eF9ybQYpsYssddS\nDgWqrXC1ARzb1KqmguX7m7Ea2JqDtKV52r7QTqOfuWYtQZmqGr9C8hEBr4Rt\nl8yO5xfHoB8tmpGCI+rU+nDGHocgab4IcrkdIDPKPia3vHtqJde3vbbSzZxj\nlV3XR9su7pOexXiL7vM0ZN0VGXTlXgG0oE0ZfasOCCZNR1iVfJHN/HnbN2hv\nlkqO\r\n=GtSa\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEeilfiswlvqd6SZJkvO8xU3SvD9Ko9uQUmKJ5RBasspAiByaLJflJqW1qKaMpHYWkX+watGxJged9CE91vzu5vDRQ=="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.3-beta3_1606354491655_0.04819155735465652"},"_hasShrinkwrap":false},"2.0.3-beta4":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.3-beta4","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"8cb0d9a2108ed3f88740cb5d09c37566128fac39","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.3-beta4","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-bJ9dMfT9lzxR37TWdrcc62OIhiDCOG96mpVOcZdburl6drbb7HCS4eVkA/q+HwJYRE82HQjNcrrxGGRsfDv88A==","shasum":"90d50716e2ce8af5bcce83c01136535a24d8a9f8","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.3-beta4.tgz","fileCount":21,"unpackedSize":183084,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvxV1CRA9TVsSAnZWagAAk44P/1eUOIFBYmrBVgBm4xpE\nATVEcjGQ3BshyoLp8qy7FepZfKh1JoWaFkWI4KuLz5vh0SPy/IwawdX87jTP\nsevaKQnRqatEJ/G3aNXmnBkp7NDODlfo6JsBHtyEL8MG3TTqZFoTiGJTPqhO\n56rW/Zf6DNb74RkZ96KLv5PQDAlTME3JpLLhGlI7cV+Gbz0I48nuyPwqgMyh\nxT4WOwVvsf1IVimfvmzgswNvPk6sPnyFzknTKjyTs+q3o4Znx5jl3sz29XUM\n0t7QTqd49RIZo0C7SRwmFiHFKvnJlkuZlWGNHutCAHdV7cUUzyaqWlCOVwKi\nhhjWEdx0eJVe0YaleR+BS5qqqleoNgEbzK4xzhArh7ijYhjZnh3K6OaSqYYY\nai+VYiai9bMfwXgqyK72EkC1NMwNTTrUtZwX7u2ldKb9HzDLImmbfUz3Kyse\nNinMOv2FeXF3K0Jp/pskspU7yb2lMe6g+hpZ12LhlhALTbT2juMCAN7ml1nK\nFz6OQGPBJ/PT5LJC+FWQdysEZZfxGHuPsRV0PDKJ7DXDo8rV1/OXdc3yyyyz\nn2ZL7UwZvSHImAZj1nq1zzNxIZ4awj5POxXkVEOQNaHnKHLQym+SBKJHyvpQ\nvaKqqIk3IEyDWnIoH5FuAKYEuYUodoe7JF53Q8c2iJNg+qpDd8cuNNqXT6gO\nJDAQ\r\n=T1NV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCzvrntroa/8w+u8n87iQ3oMWEwVGuDIo2tByi4iXXOEgIhAIRFcCWAY9HvNV8p/mNYzUrzkkWuFxKtAA4lYSLt3Iu+"}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.3-beta4_1606358388947_0.9665179779838411"},"_hasShrinkwrap":false},"2.0.3-beta5":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.3-beta5","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"8cb0d9a2108ed3f88740cb5d09c37566128fac39","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.3-beta5","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-RGJWu1v/3zBKo06gppAO+Pg626tB7ykcRqdBu6m+736EKinPFd8LszhTqv4XEh5CrXSQw6ESTgaNjPqCGNv/pA==","shasum":"d70f9984037f8fe0a8ed083012d03202027b828d","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.3-beta5.tgz","fileCount":21,"unpackedSize":182756,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvxqzCRA9TVsSAnZWagAA3tIP/j31e8QE5/EZrZswBY4x\nnFuiTpP1Eoe74OaprgKCCakL1JlCqEmqCSMQRDD8jSwr4XFq4217MTF6vmMc\n8eu0DGzjH2aydNgx6u/G5Sk6zwY78Aqz68qoM3w7kjiQVUOy00/MqcCsTe4k\ndVUZRGw4QPFs7pWvdcvfd4jqkbCm9QOXg961thzB2TgmT2RlG+8YZ/mLMWh4\nJtt7bpskmE7wx1hmw0HPchYg9DAYE4u5QtYl0bCCVPUyhxAkjJANlkXZwbjp\nrOfcDVv2kf+TC6TCv/9T/3dE7BWMijURTDlAHwg4MsAvi9YPZzqST24EquY2\nSC1iQmYcnaYlf2CH4mhxZk8omLirvxUQVwzIs+zMLPdzZcpvNws7kJ9S8Zm6\nLmRB/G1yJPogLvwBOWefZUSkbdN+5czqVwXmdR7qwLAdfJ9z0JA3Ddz+9LF2\nz0FIHmUf4yD5V3ZCNM7YSBKOVzt+aM30KZd9NTXrsXDGBGbHizjvqEL1NACz\nRLLNkNv+pkGqp6Vf5TYy2asvLT/lByYOvqz+PRedy6gjL/hDfD7Um8ptY8cI\nQWiZG3vdsOqHYXg/2i1yOVUEpU3X18ut5fvAWdGpGi92jZMO8RfR4cXowB++\nsXsS2NafcPrA18IgAZLOFcTDgoImXnrKd/JFCcS2EMBlZIhm6Qx3VX72kBoM\ntsmo\r\n=2kmm\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCOZZOIoWP0LM7G5IFXfffMBvMx04hLveEhSoiXGvuQ7gIhALT/Fr+bCGifM+fWCDmrGLelzVmPJqm8n6yByo2yWm8U"}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.3-beta5_1606359730699_0.45143253144889406"},"_hasShrinkwrap":false},"2.0.3":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.3","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"1cba20d33a35fdcbeec28e6505a4394d5c6f0a8b","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.3","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-8pMsVNUWLFwM/rDH++YEuMEdDKNFv1R2ERvSN7jVlaekjphv4R7HW0jxWOpR69RiEFvAZoCe4hvFK+63be87ng==","shasum":"d0a5b2484b0b77717ca5eb8cc7356ce632abab88","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.3.tgz","fileCount":21,"unpackedSize":182944,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvx+TCRA9TVsSAnZWagAAD5oP/Aoz1qzEXfCaI5i7Xbfz\nO8nGDMMgZmLqKTCTQ9Pw0NZo6TvQZkvroIqXqLPcXt63HhkONi996/1uDSbh\nIuCVuvPN9d8yIcGUsy9VI2qPcSjllmcd3fHH2SEPlMfVQ9J+bBzg9XwBE3iz\nilx0xyzws1fVNv/8l2Aqw6v/ZMVgmFhHFI/MpGtKfcfaL5L1Gr+EdIpWxkhD\noX90DBLgPLHfjRSsIJDVDUewqIZvW+LsQtmhorNIMesXKe9nqil9AnTq4q33\nEDX26y4wS0uvl4IEz4VgKS/WpaMvgdXZhrwTLEy0an65GEjYn5u/3KtDqiC+\nFO7YiEWF0XhAY8VX/YYbEJiMq+GKl+/w1y7XUuGYiu7tUqwYURz6KGaUrvl/\nov6jmG1qgIc0UTnZYlRLR5ISR9xK6ybHNJlhuj1ps7Tt+xF2iBH5hyaqY0mt\npU+JE8rkDJLzVffQGfpuEIoKq0v/8U+Zt6IcF6tLzWGYg/QADiKiQeCz+IRj\nypjao7GhnA6DYtCrlVafpEh5S+nT1bdGD0V2IDG616JYmgd7qpJZkj33LVT0\n83SDeeVNNc6Apt/6F+brlabthQ+oszF/mN+1AZA+GDXMSqDZIMJr4gkJYo5m\niApf7sP4uOCTAncaIOiIIcOaFUgA6euAHYGQnf+TtZcHgdCfHfuBuIiHG4UA\nNqBd\r\n=UNAZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDY+eNam4rW0I/HAqbTuVytsDrt0kV9HHEqjLWU4us3YAiEA3zqiHzu9iECwonT4mD7xnIGrzt6nShUeC8VqrULsn6c="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.3_1606360979392_0.12114151645116777"},"_hasShrinkwrap":false},"2.0.4-beta1":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta1","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n\n#### <font color=\"red\">重点:</font>\n\n给`customStyleGenerator`赋值的时候不要使用临时对象，否则性能会很差\n\n<font color=\"red\">错误用法:</font>\n```\n<Calendar\n    ...\n    customStyleGenerator={\n        params => {\n            return {\n                containerStyle: {\n\n                }\n            };\n        }\n    }\n/>\n```\n\n<font color=\"red\">正确用法:</font>\n```\n在引用Calendar的组件的外部创建const对象，然后赋值：\n\nconst customStyleGenerator = params => {\n                     return {\n                         containerStyle: {\n         \n                         }\n                     };\n                 };\nexport default class XXXX extends Component {\n    render () {\n        return (\n            ...\n            <Calendar\n                ...\n                customStyleGenerator={customStyleGenerator}\n            />\n        );\n    }\n}\n```\n\n\n\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta1","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-RyUHFSu7s7yQd5S0ro75subPBZ4YUVJbtKOA7BkwdqMvbqglqmjJ7+CNn+8vg1j553K8BMiPqKcahSP+lOHAoA==","shasum":"7b38c0409affc120cd8678e3c12cbb6d59e272b5","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta1.tgz","fileCount":22,"unpackedSize":183916,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfvzpGCRA9TVsSAnZWagAAdbIP+wbPas2Yg1aK7TpwOYfC\nLfNQbO0fYyA3/BVXilIUvasursqMNUNMTjveXntUqUOs5gJghjEkNwZpylTM\npQA1zmBNpQTTmhKwIpmyoAqDyE1UQHkQfGMg6ZRdWxaZ4HdiO88u4rmkwGgP\nAbrmkFxGHDzMIWOwbNZX4dI7J7uZfAgEej0W4LlTRfypBmpnwsK3eLfRMPBd\nQyVll1y486lLINDlaSAJZdRrgxlLYYYaRQULiOiLw9MlvKetPnLLW0SjTSUf\nhEyOWklZEvlBeRvxZYgWziuXZWVuXLCXxC7JmFsqDBPHEIN24rv7H4eprQsI\nERqPXJUpUfpmw+cYmgrKnSGFlJOp9ayRJOleDSnJ3Tlq/W++rGBqRzz/om/3\n79FCa+gsdVIBZIwfvtT2b319d57llP1576+EsIqXXiO/yUmiXVVAxZ/ojPQ7\nZtPXnpPiB9g9abAkZNw5odR1xH3BnuLK/wM8BhAwXUpkehfknQFr5qAQbOq9\nAh0RamltzhhLVFW6Iys7cRG10npuewb2tux1DOT4QbuO60RtX4JP3JuIM4Li\nn9dOkFqq+1vi1Bl4Cd8AQjn2ZSGs5zHtqV6wkL0cQ9E3lvz05dVkBnVJcmuS\n1l/hEUYCWhTFwlgonD56dMRBKCdMv/Sk3NjOqI0a0FRM2RRn55YX+fIVYSPb\nVclc\r\n=NUU9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICSsquFpWlA6jRR2x/dtC7xkhwIRX9x5rrlvUg4lGpspAiEAh0+la3yS4PwHSdzsGk0QRN4eoDY/Rgm4cpV8egntSAo="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta1_1606367814375_0.435675737509184"},"_hasShrinkwrap":false},"2.0.4-beta2":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta2","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta2","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Orzjtr6t+SNx/RXPPLb5i7hFuAMZdBsa5GamFfIfS2K7RZBM3JRelTdocEnVpqWOI1f3uyiRssmnVsxHFGiHKA==","shasum":"2769d05a6653a43ca0ca43ac36f5fc513a6c7c94","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta2.tgz","fileCount":22,"unpackedSize":184087,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwFerCRA9TVsSAnZWagAAAWMP/iWU8I/8EDf6RdEyLR2Q\n7CyZgOwTqYxGVHQ/FT9PHx81wBnJUPX0zTXqyj4NYP4qUSxUH+XaG5CLWeve\nsJwePpKXNEYhivJ6+Rcgc/jvm+dwtx01GJsfoI8GnwYUp/dXWXl8+z1dCjYq\nFwZHRwaA4fZFrv80dNgEAAtjnTLJ9Wf/3iL7qFbo43geQTNFdP4Ew30yxUqK\n5JY9KrAqWCUi4gAQYJrLFY+85flzIyRHq/AdchhlIm9HQVWfPND8qM4H5bup\n0rgqq00qNs9zoTUo2aKHbF2nLKUmp4pyYkZMYf9f54JnSw/M5upNL6RnVZZe\nDZcuRhZAqvjPgVmZ7GfhfpD9UOAOb/dRLVSuAZB4W/CRzQU+hkQi7aAxuL9M\nBpXoOOmhWQnkiwWWdpuwZ1km/jWxvKIkbK1TjDbG2DAz9j/NN7N3d8Rid+ZI\nT3V6741ESFjppBwk+Zyj1co3XKaNVzb5iOvMK8DqbQ5yQZZbgJ+MMeqQsl3p\n7Qg7QEbtgxq/oNE3TPy4hrU8uu1F3Ahzj4DFyPznyFsa/OMbfeKRI+0ZuUDt\njwRyxKT1RZpivu/dLYQOACxB8t4g/8Vb2Wj0fg5E31ys4rgW4IsEw3w5/Bwr\nQi6yV4y56Q0UvSzFK81AKIjMlceZ1+n7jLfeTJg81TdLszYcK684fhecrFTd\nIc84\r\n=C/YW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD5q46DTl/sbk+b/0SDliu7GRqBhiDbcEI34+MLxUAMYwIgP7dxvHibD11ODt5xuTqzwgLEUJDrRG8LEBxVzA1zF80="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta2_1606440874875_0.6542247807771178"},"_hasShrinkwrap":false},"2.0.4-beta3":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta3","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta3","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-F3bH2rHIEFneyAnbL4mgU4rQLwirCaLtGnb38D76GG5q704HwAutyPiZwyKV9uVRGquuTb9RRLqvedA9jwH2hg==","shasum":"e79e13f9deef8ef6f8b81dd819ffccf10ab776af","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta3.tgz","fileCount":22,"unpackedSize":184014,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwFlvCRA9TVsSAnZWagAAj/UQAJcJzfT7XoiLvfpMqdD7\nyCX15ZsRd1bew/1Ktkqy/BuKxCznhPl3QDVZH/rk5inRj8lKDU1auIoHufkU\nsWEdfHECZXcpUjDPoI6it4gsdVr0uvJwM3jXdm0iF9jBbBmi+Jnc6dxlCqo2\nlSEHF+PXPXAzJJeIZLqLuw6oxeqCIN1a0x73O80uNLzYGdn0I5rr++M0AkDI\nSMOSTgCPcDEJT8WXmsHE878YFb/jp4+UGIXG+7Gdyd2vaOdBY30JGG88gnzy\nZIOY3yn8KUz3szzvoSpxAso3MpKwbI1rW8FHQcjRgOdU6Q4WVJV53vyxyf0y\nOc12DmQtXrYBwZw5oo9rN4IRyFUJ8o2/M11Y8oO6gXoOdejzDdRM0+fARszg\n4gSXo0NlN/DFakmtAmthgrZDyVPDX9XNaF8h3LUptyx9CZ6xitp7gcHAcnR1\nC19KUOjNjw4kOg/VjaqH6PAyXePp8J04GH71vJs8876zFBneJvBJPBWQ/9zD\nufsosVb1Ude8ru33L4aMvfgjWpPScPBLPd7/WiCi6tu4OlwQWRd1mTp9c6tU\nnu5Z9ql2kQ58e+xQFIs++dFgBM1uSgMT5J5v0s1FBrrXCkts4szneXVpTbtj\nK/U7BtLnW6L0xQqcEBnRI0Gp0/fNhKgMbnrMKqGL+sONVORpk80Vw7g/Zj/D\nrqnL\r\n=cfzQ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCi2I/fGwCLS8Kepihz6/c+4cz6JhUR0KeyC8lEu35sXAIhAN8S2Vqe0oxJnBARnUjdbYBjeOkMylrSwpTHUF2NnpZa"}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta3_1606441327242_0.7765546829564203"},"_hasShrinkwrap":false},"2.0.4-beta4":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta4","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta4","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-WfLPDf/JWY5MGR0A8S0pCgk4JGUEo/vEq1/wrcCMeAOrZd36wo1DE0NGIer8Kcjis6F+LmqyYNyO70b/Rg/Z9Q==","shasum":"add59759dd9cbe507b14a1e69c8085eab3b3634e","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta4.tgz","fileCount":22,"unpackedSize":184067,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwFpjCRA9TVsSAnZWagAA48kP/ixwNi5TwTq2MF7yvxI1\nBz5nwVZ/udlgAeCRzTaDyZNTtYr+Q9gFobX3Ese3/rVXdn07i2a54WXiW6Z0\n8Zb4y2juXgE8cCxCyQoPFUL858ij7t5ut38JvHUVxrhKCp70PB6DJA+Dqcuw\ny2lFy1jrtHeCyOsitt7o1+jvLdMxoodHjnasi6FwUejFpW7yr9KjRl2lRWen\nNz9Ly4WPbKtNLpfYkYXF2aZidRDbl7Zav+upLQlCrU0S3yjFZVr7soVMqGCA\njS9PI18oVLdY5PnZzKgaNa4zaxgCN9Jdlu9GQ+u6dRV0O3f1N7GZsc+EhQQu\nTtc1SuLyMc0wa+co6LpHsqajW/181FApILK0a9Pwh4KxPT+R+aYoSSKzEomH\nGVDnWiqZ2H6c3LxPdOdc/LFgSyIAzDWK7BKtXd/kyU8Bnu9/QG9KwVLjTgLO\n2zd3k9O8XWRQnUtD+NzkZpd/jjQNPheXEbhLhGN2bwBS1TCdSj7P0grxlupN\nin07eoRzuYSEz3/K70+ng44txVsghv2a5+YWlBvBs3LKqT0xN+IP3pwAG3b+\nZeEmYyl+LWojXChvZNxq2QmxgcGDGP2kji+urhM4iluIRH41v1fRUYKWVxqb\nTJ0jsv0FEmnMQ512GHSnDoEwM8CvdhH9aiCzuhUUjdMziPUmLPqlU26yXYpU\nNxq/\r\n=R43n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDaC9wng0spIn46HuRWsLxYhLC3T/CHbJI4ROnNqY86aAiEAk/BC/nZhEZQ4l0AGwb+Fmp0oTmT1nkWkkcTRsHuLNlc="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta4_1606441570798_0.6458101128411726"},"_hasShrinkwrap":false},"2.0.4-beta5":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta5","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta5","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-6oEe7pvrsF6a9yjyNFB4QdMRNJdu9wpeqQ+RWiXhAyoZuhIrbNT0nInDtijx+2f3QJstm0O0tCAPnQFXkYXX1A==","shasum":"e15ac42d6724f749967035b82984df9bd46bfa20","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta5.tgz","fileCount":22,"unpackedSize":183681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwF5PCRA9TVsSAnZWagAAoaMP+wSBmAn/7GqejbEGGcep\noFjzp3mEgmpll2RktRH8srw+WUyPT5/CIGlKJ0rVxoPtSdz4SpWXFaSaFex8\nZ3G0WtdCWWh7f2qk0bAQVhbEpkWhqmQyffAC4xnHDGE+OP5cF9zEr2py01V7\njPJX+O5kqeMVkOSzyUFOESg/lDn0tYgYVCHxF7eaQXQyJwuFGhdDljPwJazl\nFiYphj0/wb0HxDxMip4gixqHApRxTaBYDYp5TNaywnEcEc3LWJ7nHqo7/uVE\nVqaMh0LrPpLswEba8TiA2lsl2SDUslb/5nHTSev6nAq2jVHIG1iiAiYh1jzF\ns8tdttQZLsRdz41/clQYrkdvl1CXlPjta+1eTRCtIaOkpcOxQbLah4xAPvJl\n2ywXGZysnhUHCDTATzoDVFB3sqpx7dygQD/yfiTESnIRmTpAZpgqihExppYJ\nqqQ66spb3alppwDCgtLNAImh1SuvXjrfQAADRHxZ6UPoQHKHT/GecLRB534K\nREkhT3Koe2JvcL/JpVZ1YGiLfOuY6i5r4Wq8ebjjr2yb6NH6IRvXhIU6rEqB\nf6wFyU4v/sZXhmTlbz4tGT/1iwKKibZjyvQbYE4u8r5Ks84H2/hz8xpUlT+s\n5ORhb6tZayjNsfy9CqH5/9OUHV0UBV3PsY8TsHhm+YSkLXIsg5ubTAtPCCiZ\nGAb0\r\n=hIYP\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIGHyVcRxTKFR4ewY770xucaAZ4+ly1SRlnYe5CUQFT7QAiEAtL9JsXKm6PTQamP5BnH38Gfzcj/hSoyyPT1+LnXWdV4="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta5_1606442574669_0.906169418102682"},"_hasShrinkwrap":false},"2.0.4-beta6":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta6","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta6","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-LdOO1svKseQpXq6NQvCX3yfopRu7waMOSma5+z6lf19seha7VJvcpB2WWSKA/xou9M+7Er6LfQ2JTawY1g/23Q==","shasum":"26d226145d40333b9a29d5677757b0f408a195a3","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta6.tgz","fileCount":22,"unpackedSize":183394,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwF6mCRA9TVsSAnZWagAArncP/1rL95KPJWanSh0bzyv6\n2vMlDxCt0E93cuDEksf320EcGh3uJCldUcWQ/fe85r/E3dbJy3RGjAQxAyPk\nmQ3VXG5AiF3yi8ElR6mkUF/p/1fxhx4si4LKKS6rSl/32G018ANA0vpSOpce\nvPxJvS6mwHwknXs783kVjcBd+lwQN/snNbXVDc+j9F2QZqFvpcfsTrdGB46W\nUTyTWh7+INHGlwLDoNR9wTiYvmzs77Ghg+pEemGzdqgYVuX4nMGnFcVu/juT\nFCKofj4+A/zl+bGsGwdpsaM6A2trRpoa0JiXBk1wjFWeE8fZm+AcxhVQvgfg\nxhPG/sHQRjstaJyuR2FHfsX1hmlUe2qG3fq198djCvO85M+X6072yUQcD8G9\nhlln/rfpa3sBDjMsT/foq0WZ54F3win6r5JSYC+BmEs7DyOt8DuIQJl7bXLm\nKJPxVH0Fg7gT9cI+h5NVxnKJ+Vx+N5Gj5rL3uMXSfY77meOslUiMsLDBVynP\nXVWZDThEXz/EISiNvLvjYT+HhZBQNoIz8MJiw0VD/us14npq1THYTtm10617\nO/MGUo2NOJIikph1by/ScNybgRW8rzm+91pteLuDt4yFyxPkOanTVSoEVJ+F\nGD9IhRC//ZcEuHnsAPl9izKPg5Y33yH8Vz7kqRr6brTGzEzQKFfme7dQB1bw\nyD6g\r\n=yq4R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIC1o/mylKPEXVIN/kIEgjjOL4GDKvOi4TufmHVxl0mosAiEAhQO1fmwuXGqg3uukSBqBPEM3JrJUkXoFc6J4OMCWhPE="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta6_1606442661976_0.952241286737995"},"_hasShrinkwrap":false},"2.0.4-beta7":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta7","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta7","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ai9FEabpAhPdG/twKQATM+kDmcYQDq35hOvv2+dKtd44knYwNDzpdVUlH5EPWgf9H6q6pfz+tVwo/EUCohRzCQ==","shasum":"698bd59b054bd52b6e1cf99226752cef6e31ca86","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta7.tgz","fileCount":22,"unpackedSize":183486,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwGIpCRA9TVsSAnZWagAAXQYP+QE5XHhKv4Q114vwx+VO\nV3f5VMLz0gzV1yYM7+1sayHezonqvuE8sRMO3NfAGogQOo4pOxqFBwJ9MMBC\nNUChU3yjrzlJeecHwPl/qxt+7BfiYCasvPBTGerC2qtt150m2NiMWdehr2EO\nsN1Mb/PYTKug8FTiLwO7wTlrxneV02kzrMiH5MGQTul7RUvCYLvGM5ZBV75q\n5DCjpRQgGyMvies5Uierx8IDrlZecobP10MWs3rtOtTapsKF6EioizfCVapg\naRcLGBuy51Ln0UsNg20s6auExAoZ5uiXDxOWGPnieo3it6srggYHW13PHPwA\nYy0cuEn//zcdF2yLTKU47BQzFWMDiWKFkUpdK4avcUUUnzya50WCbhqSh2jQ\nvOqov//3WYhQlQBi8pthGtWUz772AC6TFF5FoM1jXdBgudO7+6k8VANlMedy\nGaOicHLOtdB0KP6Vgv+zOK3OxAG1lnwbLhJ+L6PqcEEf3zmT/kAqzQY7Ipqi\nURuzYlD57RuqOpdXI6LU1sC/v8NIpF0Zl4Fxe5H5WoYMM0YIhUFlJTj5MxKi\n+xOdzdhQ28O5+z3ddCNmO2/zYmvnfafM8o0DxwMCB6kSQ6AuTi4VHetVfEII\n7vPuOHHQKGV+QEyA1txk9DdU2rggDhKGvrOX65D20H0aZCYTPCQaelmrEKEA\nIWdr\r\n=LCZH\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEsMlF1VDmiucPqKkY2F40PWbA3/wBK6yrQJwsVVi+RvAiAQ/TuRG4D5xxxGwi9d+G9FsWR64GaAqO8LvTaACAy5yA=="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta7_1606443560742_0.06106400201939621"},"_hasShrinkwrap":false},"2.0.4-beta8":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta8","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta8","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Fv16jcS61M+m/zIYw38dGWRblF6dbulxSQ4PAWC7CwayPFUQW9WvihAuEntT79Ld0d+k6kRnL10pvI+rBpixwQ==","shasum":"759b6ca84f4ceb59ce1a805c45f629b6f0eeee63","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta8.tgz","fileCount":22,"unpackedSize":183522,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwGLOCRA9TVsSAnZWagAA9QwP/0NQ4F1GzMpRjiBscDTQ\nJy8YxmiP4rg7PhXJGwZA45lZctHSOf3ph0UnRoUH1q9/Gvgxqq6tE2zgo3L1\n14FvHnD/8rVWeIwqzUd8Zhk7ypTygdK1e5xOl3DLEXI0pCOwDvZ2UG4J+wEi\nV9P9nrvx2qIej3TDeJlx6t8nG3jZBUimr6vdhl7b1aUJSiDPAiXpla+WQCME\nuKfSfdtCi3VqisqypvwGIUC1azI4LqL509GFZX9EkEQeEUShv4MvUQBukiGU\n2jgLh6qIodtuotOK+g0QeAWWhaYq+WhGkHm7w5sah+j0ra3S5ozbaIX5DgkW\nCrgOelq4Qtssw4e+0bR9qoJqu/536XJBdO4iwlf5XQUf9W4ny4MCiZvuvcCH\nmbBJkU35DPK0bBisanJLE4bnSLNNUpbC1z22LLeqt7zIntFwM8VpQZ+Z5Sdi\nZHmD6yD+wTwXs4l5pwIvibxTjW+j+LC/uLTN3RbL7uGXlCg76x/l636TlM3l\nClI2W2oWW+gc92DvC3nnuQBGFSLvvMxl++XIxOsHufF/dcyVn0AmikHaqWSs\n8+iTWWAc+0UKtkQ+8S9BjL+CAnWSYdwalAHoyGAcJl8K4mZ7XL4Mau+jgrb5\nMEvJKuviEnsdgVUP2e6VC+tvw2DHkwtt3FCWQi7+1N1Q2qquWN9DvliA7rrY\n+QWY\r\n=uEJf\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQC3BlvcdtB9w4wjINpML86fdB0oBHLfmEotrLbuX5yzRQIhALmdK6Q7Ybipq1RmyRy3o+9z4+RFbSST0sEoqs0KI5Ou"}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta8_1606443725682_0.554520031948275"},"_hasShrinkwrap":false},"2.0.4-beta9":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta9","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta9","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-LD68dLmEvF66z0k5QjdJB7vfBMEVNC7+Rf9f9E0o/q7FVfvgz7xRMA3flGzZ088uSGeKoFBlmW5PEmZHm+/wXw==","shasum":"92889fb58cfc221e269619b2bd3697c61d83e0b4","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta9.tgz","fileCount":22,"unpackedSize":183522,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwGMzCRA9TVsSAnZWagAAksgQAJqmrBUhdm4Crq97XmVR\nsM0VsSbO/Y3CBz/7pC2E28GjfZBHEhVue2Ja4Z+/gB4vJStVsH1rLe+p3PAF\no2Y9j2/kTkh+OteLlrpC74qltBaFH8OUucA7Hl/sTQrQ50RAJYazDD+8b1dg\n5jjkpeC49oq1HO/tfBWOp/mkTK2HOPi8TA8I9zNhksXZIA8BmV9HALw3p7qb\nrMObhO/ddBJbRFPPZsdBrUZFfMnvhOfio2tou7xxbHv4ZDflElD5sNUefgnO\nZLyRjVOZK1BBqr/itlvm6PHUG0h0oct1CvpwQp5VAqmWgJd24MU9/6Cdqy18\nv/EjakdtASABoHaKDnUGEIXVZ7ZpYYNjHW+FpI7eknIQI9fqXV9jO4Wd3E+Y\nT4rEF11pQuMKfJoxgYhWMs7CMoDRJFQ9WAmEermB4RjRQoxFRiT4GTyA92Nv\nFgp2Qipq3U22xgLqzNWyeUNJvQQGEDtfKQrS0NzGjaqFF28DtU0/VB2h44jE\n0pCBkZDumWrSQgxVFtzhTU4LeS7kvoh1ytTo8+GxBYzT2kN1YyFP/Q5AHYTp\ncb1bJoMgi06lIjrAB0sZSLCIRySyolG0Sp1gbIhSfVWsii3+FNdoJMuLY8bp\n08d/olWk8qDAXNaS5oytcnN272KNUcZAshA1eclr9ua5F1sxKeHz73ROYTTj\n2+pf\r\n=RBuZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIDgc2Xavw1nwUROovB5kjceFnyHmZHtSf3MGfv0opIZ8AiEAxo+tmQ5vxupgRhyVXrSiQ8A1V3B99IGrVGzrGdDD1Ek="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta9_1606443826643_0.6396942233074101"},"_hasShrinkwrap":false},"2.0.4-beta10":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta10","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta10","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-G35B6tjj9dFJ0UCV0SNj/pCk2WybVMuTjq3dr3nHINnKqRWaSYmMyyubMrGt/v1e4Dnc9j8gPBedzOmfJ0TgQw==","shasum":"3574cd270ed44413d43b2a453ca4448d186953eb","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta10.tgz","fileCount":22,"unpackedSize":183350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwGcSCRA9TVsSAnZWagAAqzEQAKHaxJxLj1z+lNR3ppkb\njofCdLyg2hYymcDDmOlyzHbJv4XYPhWnfJmuQrhq/vl80mseExJPxU5+WMBb\nkP3dIaFBac7bSkQaLZ+SXKrcThu6qfHH6HUs3KP/gGvJ8zpN4T+JKFFmjQnf\n3Ws8ZiMzbEzDDKQ4A+KsugCPI4H6tHVq/TIMpxsXrAYl04efc/n8MVSqEhq2\neYBjVTDDMm1UdPQyccMQwh/V3fjp/RtzwUSdLjBH4l0wn32JPevaOlvPyaxS\nnufFyOi7tSJDCNhLy1iPW3yX1jjHXUCFg5iafswIYrpwhcXcjaXNyCfyD3sr\nIY0N3/8xHHmSh9b0a/MULC+DTfzEM4Kljxqk4GhBMWusdl2wp+4SuV3pZpqF\nVGUIUq4x0sThRinoXDqGIrO+Hpq8Nn+O/5IydNnroyf28yjkoZy6BD6rUNVD\nRB2+7CO+ONzl23g6FW7Jxm7L4Zpvzm5KeKRMaqt3FBeARRrVpc8vODj1+FBd\nYkadsJvoXm7wfptpGlJ1dJmEEtLjolypoUMDzfeUgV6U1Xj+JBktUjXXju/e\n5GPmMJ/HWRk13lfhApuRJjrui5jyXaWlH8JQUZ7/Z2aW2RBz8mFOmV2acXQ2\nPNPa93rxxT866T+g09RU753y8vdeHW0f4mh3wwwC8O/gos1QoCLaA4IWsDIy\nICiO\r\n=Fqy8\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDKH1T9Vz8EVvajVt/XAwkYWox/zpAiIUv7I7vWsh2COgIgWKEPil1uxnZZ28Q2QgFnWVAfSksjyYOsTbUd9HqNZS0="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta10_1606444818072_0.07322230440880495"},"_hasShrinkwrap":false},"2.0.4-beta11":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta11","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta11","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Mdwy84Yw6iYg/I+7LhO2wU1lp63WEC7dAfszNhxIE+fnPEdLl3ZMDo9ZnvKKjtv3pQE+u6jTJD4iXMQTqjuLVQ==","shasum":"2474adf643358492c86a404cf0a04d3f4b0aa24a","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta11.tgz","fileCount":22,"unpackedSize":184295,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwG7bCRA9TVsSAnZWagAAcJkP/jlyDf/tQPIYymbS8TMw\nPe1XAMKxTIybRt1dgeM0cXpBIrhrFOOfAe7iczyMGgLFRiKk3Gy9WG5bDi1C\n2mvZWXjGmol8VwuLktlneeCR0gSJ4+ZJkoaYkA/US7O5NoyCWKlfFZ2Sa5/F\nfspgiUynQIJve/gI3fSYNUGqEcBZC6pNCae4bn3hBj/ejLwHJCoQvecpVd5/\nVnrrs0zNd9IbjCmOxb/uEbBSoRNYDmDRs90WCi5xYkqN3ZLEo3nJtuRhP1hD\nKX8BRkt3cvVNGGEcuhCnaYiAemiU+cWwPEGlGkBd8oQ9lU4SIOAdXKJi3cYF\nYTqxQkrmsNx8lnjOjHcBZt9VqnaDFVZv8FYe+fH/xctp98FjQc89DFYaT57Q\nnszBr8DBH9SCi0qloDdh0ZEg7Ev8wzf/VSDkTh1xPz3q/ZUFg/GI23bwCE/1\noDSXi0XPMfRUUpussoqUPWsKHPQi5u06zmjQGugO0nIMsKm0fcM60IqBPl+/\n/1lGBWOjCwfWWJ/ZlJU7NwhZEnPOYDDYIoYCx4iOtPBdZh2EDuly6UGsxcYh\nCt1fcLlUg8x8/I2qv5WUFeC+dFgixW7g/qEHvcM6OJD/1euLtYqtA2sKiQnQ\nxUHnKqwuoPJiGoL84xJvOsS8nJz0U+tTlPc++/MPiEWCSa/8a0vIhIPbTUtq\nY+1o\r\n=mEI9\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEWKfYaT6/nCt5XAQjCtJPbY0eLifflpnWgcXZa46k6oAiEAtGBOm+HVPQwHE9GsHlA3XKBlSE4biC1Vdv0cMtFPaWE="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta11_1606446811132_0.1647089373793933"},"_hasShrinkwrap":false},"2.0.4-beta12":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta12","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta12","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-4sDzq47waq/waATRM4A2nUEr4Kmt0bJJRQJJcX1MHt0ByJUR5Rh8O0VJpgXVymoemJueMulghi8iiq9XgAIppA==","shasum":"613653c948f00b91e8f17a50feafb16d1326f0db","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta12.tgz","fileCount":22,"unpackedSize":184697,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwHXcCRA9TVsSAnZWagAAH98P/2f2MR7uA6JETEQ9HpoN\nWfXIA/RnaV3Z+cvBpNKTK7UN05NhhZyVAE+SxS4PDNiA5K0jlmJhW3IQc+ln\nuKz0NbGkssSEsIerMfc99A/Q6/EcLB6GEh8QfJTRvL+ihBN8SzlzK0ja94bG\nCfn68At71lVuJFJXbXX3MKzWhHK/qaEjl48OJ03EOz7BR150IUZ4blVNRkRc\nS1mw9c6ReBk8pJo6L7fJe2C+ktLCdhzDOvQM0ZW6sulU11R3IDCj81Lw0Xbc\nGePF//z2R8+/OKRvIqae705gORd+A/7ua85vilggvJzv1gqFxo+/qvnVdlnI\nwQeUiXKKHyez5uQh0mgcNi8rxN0XmnhpuhO5aSfh5KJ5aPWvLQpixWjkdvza\nT+HWs3eSi8Z5An4bzdJpOQcTOGUpJ85Ex2oi5OIG5wtq0QWuRA71a3FgLbMz\nhVQjMXrfyuG8ZSn/zxjsDrtt9vII5uxjjQmktijkDIB2+jIx0nZ34bBjN4Ft\nbKT5eE9abaFydkqIOuQm0qkjhw/4Pi3vjgyvSoFhGsNEqj1wvZd/aJ15uBAy\npZHg5elX1AXKx4YIC3IWkHcfKbc5AVjdC5n10HOec2ITyEgLAn2PJnVpPrvV\n913y4YdmBkjruLToECz/91ewHdYMdWoUidzGR6s0NRgY6hOPiTa9LAk+CfXx\nAnYL\r\n=+NFn\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDBibNvNDcfmuI924XQcmiarrGkPNitRUZTmuJbYEzodQIgZ2TGmQwiHomYvpDbuQUqFb84dYCw7+UF74OFslWDUSM="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta12_1606448604032_0.37691622339026587"},"_hasShrinkwrap":false},"2.0.4-beta13":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta13","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta13","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-a0wJjI48JiimPCtXcfVU4in7WwcjzOqmftqey6kXqObA+f5SItipOuZExPP+Prg7FI19jugs1bedyTGzLK8SBw==","shasum":"b0712d964c4144009cbf282218c197d9ebbe2009","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta13.tgz","fileCount":22,"unpackedSize":184717,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwHZOCRA9TVsSAnZWagAAyTwQAJs5KXUEma5B1oai5rKJ\nA268kcIpd94UBu2x8a2BwyxiWJ1I4YaeGr9fSpnIvFBikWs7665r4SCkUh65\nIUc8ZSXYdNDh8LYGJZDv0PlTwVg74HFcUQWd+lZICdy9gGNbzV8EHv08UMSG\n6xjYPruQZNY9yld/NAfeHavHyQPHfw/QInC8I92I9hnzh+SYDcSQSNkLWxxs\njavqNtLh95DzCIHHvFf3OQlKaMZ6CChSv6Y+cxG68YCHd0IWIrXuzT2wBpYr\nYTo1e6N2PJkN22+KTpebpBJRlQxaQNSl4GMkPl4+SkIauGz7cEENKMyS3FyL\nWoqe5W9LE0FKZuESXxeZL+e7QgMG6olskn0X6HDnmcY/xk2UgliMmbGJJqaU\nCXMen6DJbf/Xy0vK5V4AYEarZufgpksgDl4oNUm1dSWwpTLR6JCx5claTHNU\ncKuL7wA8OSgwNhirh23t6Vdyad9tJoep/edyYFfvu/rZM7LQr2XgCxItsT2Z\ndqpAQLQSV+w9017WHByxMn0n1QhN75nM8ZITmZyM43yBZo/TC/+poD6wlMt0\nZ6CvjMdJO8WZqufqgnwR2132bro/r79iuC1bqCrajoTBgPwEyeyOVHmJzR9Y\nk1jFurU6XLqaDwQV5DjgGCB5B2KiDRTOL1E09YbHoBNfWqKjuKlZH4029dQH\nTdlP\r\n=01U+\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEnNGmRUk0+/Ri4vVc4J4PnKmoM1mgXk5+fEmOmrtGRCAiBe6FlRsSvINqKbucEPE3eP9aOxL6CboZd2UtAmTdWRAA=="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta13_1606448717752_0.069965545079826"},"_hasShrinkwrap":false},"2.0.4-beta14":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta14","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta14","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-zt5dvYYXnXhYqVMO0DtV7jCY4/MN37Wm5U/isZD7Z2oP7TN+m2GXuKdhAQkUVz/KNJ7zkHKefPf9L+XDIWGC4Q==","shasum":"277746874f62a3b1b169d686238669370a7114f5","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta14.tgz","fileCount":22,"unpackedSize":185182,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwHedCRA9TVsSAnZWagAAsbMP/RJGGtLUBV63v5TcBYk3\nPB1FDyNvABTC4Ti4VQjs2iho6aqXks8Vj9hMtk9Rse/baThzQr0naPKyF5jY\nklCFPtE2mblijH9KZ5V7hhnHlvG/2qQSyPm+ttcmHaFp7vqL+mv7et+yvp3Q\nyXn6cdpasFK5XvI86USD1aXHGck+u8uQY2P68utgHbBklEPJTx4C9AnVM6IC\nUVT9+M7P75c3NoUxQhdogR7QXhtT3rDz1eCvONcisrCUieMT29AcOzJDcDWB\nrKVnqof9goPPtcg2XPN5/wY3EXjNp50e6ESCauuhgFheWXQ0IppVfAT1t02j\nj1m43GiY9erNmBw5N6id9qBXnsBAtWnAQk+VZFRJtDfuNl0dpxPrzq3vgnyb\nNTjEjsMSjeOX2XGCapHIfOGAfV2BMIDYoypXRSLWxeR/rhnmZcL6lV8LBeyl\nl/ancpLkzn1mdC6HIIdSd0cFdB6wauTrOBewRgz6nL2YzUk2pP4cWKoNovYn\nSXdSObi5OGAFm1AXe2KHSOdq5UJVpiNeV0m4GxOsLw/f4rZ97PX5MeP4G1Fj\nZNJ6KlMHJdB+Xpmlo1hVDp+CsUCw/zXRGr9cqS7RDivaZG0y2BNUrI2IQHws\nYGcs6F6mS759/WHdl8NwUxCAJQWvWVr5hB3c23l5FJIhvR52vcKHHyTVT5t6\nukPj\r\n=neMc\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCovlCM+h0s0D7joSRhHQFL57pKzPLMK6FElyFte3qUFwIgcl+Qd4AL/rsz4zEVMoC0oyRKZkMOaEd+B1z+nqO0tiI="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta14_1606449052591_0.4938724313516498"},"_hasShrinkwrap":false},"2.0.4-beta15":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta15","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta15","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-gE7SIOpZzCauHCsf0OAWZD8tHmc+NK4sJJzfRxdo8NZQMefWruZu2XtZa2OyPBndphrU3WCw2ZptscxoZldMTQ==","shasum":"a12d21e99180111646f3b12a3f134f285aae6380","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta15.tgz","fileCount":22,"unpackedSize":185181,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwHi2CRA9TVsSAnZWagAAkpgP/RZoXVWzegvmfh2VPBVA\nEGMSNWdvtMbekg+Zvmww9eHpU/DEAgPnkV/t63WFRs+4cFXMLgNoJ/xnf9Wd\nYhySvcpLUw7fKzCSzG5uZv4aQpdpuN2QDC3Pwvs1SmYr9I1OAVSHyYgBDurj\nMM4vteY+oyerFl56aSAIaIALHhlnHwnMxqyeNQuwqxJcObKErTmkPTdMKkH8\n6gpyBOzeDVwKm9wOfB+C1yQcmJaSM+Mca/13cHxZ8Xud8mu3pf4xRf/D3aT9\nEq3oHelyIMTYT1f9OgTnuzGRYGFvGWJEQG4ZJPj6MrUH+7aYml/YW3WPTkIZ\ntkcRwxKV5x4R57gts5kfJR8W4452enNv+NNjEUnZMCBTiSLxKgxaF8ejXUqT\nYYTBpEosLIfKuYDBexdBo8v2ARxmiroawv/VGcgwwhWe/GwTHOPHSIE+EVLe\nyHgHLezRTrEmm+oo/vUsBn4XL1g6p0i/nf4pPX6EZdLiPdWifUcaKEj+t3hd\nnCGXlrxsRkg5x/kKxMcRTY9WGF5p2qRd8iEW9ZEtEcaBGcPrxJ2l0cD1VHMm\nBDd1zK9c9KlBfyblYk0kulI4EPwkbdQ0qJXk9xdltrioLInoTliL1WfDKdyM\nRSs8k6xljd8VX9VidV55gFCIEjHQ0b7FMG1RePnzuoVQA6HNCHgiJ8CMe/sj\nZyZV\r\n=TD3F\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQD5AnCjPvqsldU5e2HAtZ4XgKDMbEIFw7gyMF7QbhzgewIhAJHd01tiSm28OvxWP/Kp4V6JnQK3s3lAtZ/ClKu1Ta0W"}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta15_1606449333734_0.7913043298534179"},"_hasShrinkwrap":false},"2.0.4-beta16":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta16","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta16","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-HAC1OQ9CbvsE5edi+pDOFsHL35hG+Kxo/rrgZR5q36SYtCeeYKVf0DANwRtDHZrqkKWn3BYOtdpwQEd8OyOmAA==","shasum":"11aaca50eb3f40d5e3fbbaaa826281c61cdb35be","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta16.tgz","fileCount":22,"unpackedSize":185183,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwHmLCRA9TVsSAnZWagAAmIQP/jUG2d3Zp1fxiG9+1wM7\nnAWs94DmD6jxMZe+M6CJHPPl3HefqtYKojmF7O89sThhXpkilRwpx7Bxt96h\nDJjDub6KYa3CuIizlLC4B9Y2ecACvWz01Vi3+mSX2L+FYRNYsnLo9AM08PQY\nbPmHuHwWFvErdALgROgIAFceGHQft0wizyjKrRbhrzcHkhd66zY2eAqxL6a/\nCT9O3wxc2wU/EDs67+ccBfMdGY+SlBhEebGFX9AUmHjlXvpU3Ih6dncbTnm+\nUWhAb3GJQKWEWmdabm/o8DXKwJvwbGOvlI5mzEgWsIaZZfEqYx78MdtWlgsQ\n4WQc0u5SDpWxnBDWWZH7cP0JDKgILh4RvONKA7jSkjXg9bcdSA0G4MAo0vXm\njnXEj6lPDogJ8hnf4hKbEIa1+wyQx/DVoMJutLFfSqKXCtiduvrp8POc/YIK\n388U8zfL4XKNJBqQ02LY/CLhBmONoRmcCH26pMlr5JhYS8Ro6oHZoVbJ/i6A\nSzzh5yta54Bs+XHFxfDQRkAyQr/vKwp+ULzYfWfuZtQaBk1qkZYIwJi2lwAo\njn1oeixF6s9AY60cyfDD+hSIcObnAhlgQBBrawdF7PaR3Hj9kG0HmLuQIQLX\nxUN1EL0qaX3c/N5IqR9hhPZN9OtvUVrYb9ZWUh9ANYgCpBDwBvRm6t49umYh\nCZBP\r\n=XClW\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIEmeSALKtfTbJQObxlkPeB5yail/cYdmNTqgSkSidyRrAiEAx/2ckROV/FMwSPvinAdjxi3nJ8IrXkbrlHjghqn4OtE="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta16_1606449547498_0.20813915755396728"},"_hasShrinkwrap":false},"2.0.4-beta17":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta17","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta17","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-oJhbTTw9dsv7GSZND1kt5/PvKvIpTkhyJrOHOqBeVcI1QNduVUnbprdKA2hYYNkJcgEMPaeFrhmRSmy75zQ0OQ==","shasum":"6e32fa0880c33fad6bd56154979ed880e6b646be","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta17.tgz","fileCount":22,"unpackedSize":185273,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwHocCRA9TVsSAnZWagAApCwP/REdwHzj/67lH6TRx8sn\nIbCceDo/zOVYJZhQMYsJ19kdpbiedkN5TECDwrylSJOcOnPNDabj4Yh6Fw11\nr0VwmPKFJ+0Deu5c2leXlBOtz/eaQuJD9zcRSjebW9adUUyY/aagHyb10ApJ\ngkCy2YttIH3s76ZjyXDsIFyFWlEA4j+DPsCKuPRZISvBNkNzDzuAlJ2Kp8ne\nqAkdrKTSo7g/s+8iAR5G1P32+xjWNpnQpnLcnG2ulJKR9r5dppQHgad0nmc4\ns2/neRabzoz0kYXfmlzmQkbGLO6d7FxMPfuwENbesXJzPRaCbO00BMjJdkH1\nyT4i5cMKOdmELD0Yuu/2+esiL5uZyzaIbZLMzvSfSoaSfNROAT7mYgFP8Zig\nC2LdKWRRbkXdxNK980G+MWBkMoKbE72NtNI1bIjuA62MsUfAIF9tpxtKsY2J\nBtQBhVVN+/8unssxoX+TDXJcxsiyHaICAvYaBUtHEB0ESOuTWhjy3jt3Izny\n2RVVM+NtV3tRvzORXJFLMqpNxKXXxid8MyYIXLAmW1qfVeXDf4ilHDOxWf9W\np7iyBhuyJ7WNzGN6b+qI+6rUo3WUPO1FTw4zcp1EwwS8Lt6kPZhmMy3hUpk6\nXGCjRWXWfoisSQNEMHi93s/mXm8DegC+euE+NyPQgBaKWMmc9AhrhFtMSo7z\n6BSh\r\n=lbvB\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCE63Ag0eX39je15POPg8VvJAkQfciJfD1244p9f+cc6wIhAPRr3w9ykPv7S9uN/eUCuyEuPzLPjTzgOSlvrLhB/5tC"}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta17_1606449692386_0.41420965452311576"},"_hasShrinkwrap":false},"2.0.4-beta18":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta18","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta18","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-f9yQEOdArTCaP5sHtuEt7HG+Z1V3nezfrAz4AaBj9k4QlaKIkbA6E6NqThqPoGUORX60lA5Q0oVYFbCL5OiX3A==","shasum":"d9a580db5a130e755eb0077f9fac1bca9ca08706","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta18.tgz","fileCount":22,"unpackedSize":185419,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwIFeCRA9TVsSAnZWagAAqeoP/j/3ONRABbjA4H55VoBJ\nrUGWXdEASjs8q0EkC530OOwtigGmebRgk/9jZfBcGNPNPsRC75neTZ1wl7Kw\nxDHB95yEC752SzJhLNSmSwTmrrjRQYKax19QB7lx0Z2sOe+VyrbGLMuWH+pa\nx/6EM4/Pdyeao5fYAugIUGVGLZQRTd+npVEDCfNQ6GyQ6BQPNNHTiPRSiJ5a\n/3pYQVFN7/La04hcZLIrH/AZp+CGFDyCzV5MkfhHHC96VcW6wuRnty6xSTSj\nUPODTKZLH48fa0sG5bdvYG72iWiDhjxf2ZCKObDHPk2H38h8hCw0BzXr7WJM\nJpO38KsbRJFSmFlc84PjgWPyg8l23O6zb026zD0JaFYjuUiOY5zYbXOpom7w\nokzfutEU66Xj9Vu313v0hCKTqS4GHsu9YNf5/+Zu3jDcEuE5IPgJp1fPDQI+\nm5OOZoIMZdV7ieLdfdpByxZv96mOWq9yRxKyuVjxkHgMnTnXWCyugTwabG/N\n1tutlrFaTGmfdyH03Vm1t+RXWda0GhFp3u/iCRQU1fiuIOcyn0I4FIunWfBb\nsLpbhlPnCJPF8lmdHSObgIkvyy3mZjJUGkywMQdV/oLEajfaoQl6gZqMLQ8+\nExAGiWtpQyGpuaAfHJcjXlc/xJUtfCFOJfpMx7PG4T2NsxZavzTaHnHCPIt0\nFXy4\r\n=nHLw\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCpm+VzuQE60QEUDJxi/XVBJwtssmKPxYGGpOfpaDEgQgIgTpx8tC6U7/UGSBnpMoyeecz+Te9Ugn0Qk7axuBfsjOY="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta18_1606451550207_0.00970892578575544"},"_hasShrinkwrap":false},"2.0.4-beta19":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta19","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta19","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-+i+m9jDczkSofm46uYsgoO1tVHNsEHZrLgV5gY4f35jGq2lxKkzBQpFeV95CWU/ZifXS6h9TlYPiC94YOUibgA==","shasum":"78cb26a709cb8eedf385749a5a7422972f6c8bca","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta19.tgz","fileCount":22,"unpackedSize":185393,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwIH2CRA9TVsSAnZWagAALm4P/1vOgnDFSXufqButn533\ncH+EYNX4Sl4W0njpfmlXFhL1HNmTs7WX/Hs+pSoYo31L7tDMoDv9z2WG2KES\nx5mZAHPxIhNTDS5/sPSpCK235FSQF5/uShV9CIM04hcb9enU58nhBsw8wX2o\n3p1vlRUJxYMsxoF/G2M+QZ3jnXWmXwqwBWvLFkrbJj+dPljVSqBSm+1DzW4n\nFuaN3TMrkThKEYtRXjYeL/0gpSRzff6Nyryn2KnroLSzCzKrCTnj5TZomcZA\nSFUNmD2NecaZXbPE+AEZwI3FzZ4GtOGs23mQXP8mIGPlGsoWZde/+jop9KF4\n8REpOjAYwBwJAYiZ0i7jYJqKEpfhFnDMjcfdPm6PFZtOOR6EYcJuCWSsPGQA\n/is+MKx4NRtk/CYrLuLrgbFS/nYxm/cg1H2Q/+0gyGhx5SCTyrmVd9sTfPZ5\nwRLSTm5NywbChisBMQ6LRTXTZZ6ekasSI3tVkb2qisQi87gS/dy1RRNqgynu\n90AMF8fV0i06Mr+Fe1YMXsIB1KGLp2Vwbt3X0wEEWiSAs/I/ZioDnE9MXDP/\ndBc1PbG5fOl1L+u3cgRUUblGRtNLS3MqF8NF3vnJl+iQbLfKHqU5py2zU/wd\nR5fMmFG2syzkwihjphwOrGbGEWuHMBFj3WkLaFhVNWKIbyqtRLA6osekaKLW\n9fLJ\r\n=Dp4/\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDTAtgrpE3fNAklAfeEU8lHP/ErvOyPzWcvZmwv1jZ4zAiBxIaf/v8T8RmbtUrob2ZdFIGSMtpoBs1JTOetIdC2ivQ=="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta19_1606451702162_0.6364694732343108"},"_hasShrinkwrap":false},"2.0.4-beta20":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta20","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta20","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-TXXjrkTvvnQ2FIz3LZ4wu2Y6nOjeuMuZvRWeh7Ly85IQSGhbD8/9mKDQwFB6W0Vo0Ei2k0B90fc04Pz1usRzVg==","shasum":"59fac07a7858cff521a886c374fe143c0df95959","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta20.tgz","fileCount":22,"unpackedSize":185429,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwIhaCRA9TVsSAnZWagAA1/wQAIaZ/xQCm7dz2N0oQIVl\n4B+Kw8h12kXb3owmDWz5rEfYJpQaMoZQWrE/5oYB+5ccffnmLBeAZsBoKYXS\nWdKHdpXMQ7N4EJsl5ThD/M5vmor5z95W+Olpd61WTIIysxLZ0lE3cQPd+Nwt\nH7jXd6JB0xe4leeqpd770boOEDLdc1P0TQxzXphauVR0CUE7I5Ljtf2Q1x0v\n/Cku/+HEWB0kY5CeXO6E2xbhBMW+eY7vguev3qhsfTphH1jSHPSU1Yu+frdA\nTW+ePlNzJDyld5FH3bORNDk+aTpGdGzNHBfTdog5UjPKbHg1cjtBYUGWun5+\nFIO0CaZwCS3A8uXJx8U3iLnXM7s3ljgGZPJyaHGXCHvWbkRvRwov0UQ0SiDF\nvYAlUFmiEIyf3fM40wu5aPEQTjpKdDm0xJNxm/uLeQMK9yU2hlrRhGc/k6vT\nWTVGqmL5teVfLJcv74BbU34sD1i9+WocWXm5gjQc68E0X29EE9qfqI2Uroaz\n/CSS7L5/bUUmp2RocBDNCGeecVJIqMob+n1ABm/yJHrqQabFQAB4bKRNbACN\no9e8tIpMUmWAT4I80ulPHEZZVn7nD2bX5RV+iXoXuPnNpWX9pgkrtF9UqcyE\nrUnu0/D4wyxWd3MsXsuS2LiO5RdUd4Pfqhv3RQuGr0Anez/rX09SgF303M/H\n+jQX\r\n=qb/R\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDWVNgHc49Jf17mLCum2oMLdJlRE1saxxgEa25SXD3PHAIgZecjQvETCfNziY117LPxW2QHmez6Oie/M4h40oQ3L5A="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta20_1606453338321_0.9002458870665015"},"_hasShrinkwrap":false},"2.0.4-beta21":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta21","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n\n#### <font color=\"red\">重点:</font>\n\n给`customStyleGenerator`赋值的时候不要使用临时对象，否则性能会很差\n\n<font color=\"red\">错误用法:</font>\n```\n<Calendar\n    ...\n    customStyleGenerator={\n        params => {\n            return {\n                containerStyle: {\n\n                }\n            };\n        }\n    }\n/>\n```\n\n<font color=\"red\">正确用法:</font>\n```\n在引用Calendar的组件的外部创建const对象，然后赋值：\n\nconst customStyleGenerator = params => {\n                     return {\n                         containerStyle: {\n         \n                         }\n                     };\n                 };\nexport default class XXXX extends Component {\n    render () {\n        return (\n            ...\n            <Calendar\n                ...\n                customStyleGenerator={customStyleGenerator}\n            />\n        );\n    }\n}\n```\n\n\n\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta21","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Nl8ick+fWxEtZz2Ixnkd94YpaKYRTnJO9OMaBxTnqMKiYSYQE/13g+VF/4uTLvhVJ0TslnzX5Q/V3i8n3CDvSg==","shasum":"edd1c0d8c39b11716351f4f7ab895d544290fef5","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta21.tgz","fileCount":22,"unpackedSize":185429,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwIi5CRA9TVsSAnZWagAAZZkP/3yocC5f9p/qRAwzTfH5\nYsxUvmVkwU6JGzvZ8YXjMRRhXelfkG6S7/3ae5Px+MehbKkGYs6aYbaAdHNv\nNvhOdP+98n/px1sDl7YhcuNHK5ySgw7i2oIjZueuAYz02McV8FyuUAllHW9a\neN8uaVC/meTf/HiEohvoO9Jh1t+WfDFzSCXlYL4iDEavoEvSMZWztS8hNE8d\nyUlQLiOA9SnExY5IbYAgD6BwwLI39TX3KuixPf1UDtMLHtkVZVmGNmWbcKF3\nC5xIZHvGwGhNSuGTi2YeONUvW+d1MGXWPKIpvTrpItIGc2w//2qkAcByZ3ME\nqs1vgpq3SvKYYy9q+00n9fKj1zpjdx0AKgxc0522DwzCxnUMPIywNezA95TA\nOPqCSTZoNh3G7HwqqUSKA2C+78itXz70gvA4FMCrzBNIV50+nbr0coXVwRGr\nGNNgxBrFM/MxGpjy7Fgx46pJtKWQCuaNGKl05QYqysWbyyG0gvXwoNYy8hb3\nQ0pgiFhUdm95g9vzg6uBVmWdCA6V7LHGvZZQ9i2RYkwPo1M7K11ZCxZuvQXH\nBze3dI06s5SRKubB+UnJo+aRCrY/FO87AVhC276iI6qY58kBP0mQvnG74UwC\nZ2YCIY4b8r5xvfiEKqjqzRmi//HrKQBu/8SpUbaoDpWiKXiHgJcgOs/koIJs\nrPUq\r\n=kbmV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBi7M/q9OU11AZRAE+wnkgzgtQWsM5ojgbwlyQLYM6OuAiBHwTSWQZmMn0HgOekTsbOuGRhwEKsBkgwwGSPuqCa3XA=="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta21_1606453433117_0.48785730728963683"},"_hasShrinkwrap":false},"2.0.4-beta22":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta22","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n\n#### <font color=\"red\">重点:</font>\n\n给`customStyleGenerator`赋值的时候不要使用临时对象，否则性能会很差\n\n<font color=\"red\">错误用法:</font>\n```\n<Calendar\n    ...\n    customStyleGenerator={\n        params => {\n            return {\n                containerStyle: {\n\n                }\n            };\n        }\n    }\n/>\n```\n\n<font color=\"red\">正确用法:</font>\n```\n在引用Calendar的组件的外部创建const对象，然后赋值：\n\nconst customStyleGenerator = params => {\n                     return {\n                         containerStyle: {\n         \n                         }\n                     };\n                 };\nexport default class XXXX extends Component {\n    render () {\n        return (\n            ...\n            <Calendar\n                ...\n                customStyleGenerator={customStyleGenerator}\n            />\n        );\n    }\n}\n```\n\n\n\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta22","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Smyyij2fRPmw03CqzEyuCxUVdZLHWzUu7nQ3cHzQe6TfOXOMhPVqTxgsz+aCwi1VwbTmCLs2b6xXDByxs8ZbAw==","shasum":"7f236e091cec4ac3a693c0dc4ce400fe516448c8","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta22.tgz","fileCount":22,"unpackedSize":185449,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwInMCRA9TVsSAnZWagAAXTcP/i5LHyjDrjgkJcdYBZCo\n/OtLFo0uuOCZbSH95DY9WXh7O2t6gVWWNjo26oarnbF656NJJQl2PodKCwkC\nIkVusa8s7BKXfS15UWy60XMU8oQrBIDDuiRfqdcbGrr3hbHXBt1niigRX57T\nnccQsxqmVg2WW9nHMvD9090+3I6Sn3FMtnh5j2+Pzv/wTCxD85Zyq5Sndz+S\ndBZXoNDvfYoo8XCWPIfoO7kR+E9A+OQFHU+8HVsbeabdC/MSyKOv6rtzKyyW\nnzhBqY9GNjwpWYfSdWcK0qCJEWdMBA75BJubik+UoEoLC5ymvwZ/kuo/4+ar\nY9QJ5DjBFuEAMLJKad7lGH38TabWbQw9OwzZ9QpVedc9uDRbq7huIN9mpBQL\nNF7xZvfGBN+I8Q35O1elgprr4L6ixlMxzG0FNCBCqmrYLL4quZ3A5TyWO9gQ\nCoD76uA/kPD/Vapf7OG0in/EhPXe5T8MwCitKIXINAyo7WRhswScjKySQ/cg\nlPXjzCm1nidoVveNGyJoalYM6diTcTQ4H2m12Y64cF6eufVjsUC8BOfBJyL8\nQLEEleDIYkbMDfWFRQqBKJywAV706ak3Juh9eKl9rgHnpGNkms2RTdStgiK1\nx4i2BiiPZunbxElMYnXc7D77DD0J7AloXrYQFUBbvf84GG+ZsGOVVoemYOp+\nWSL2\r\n=pl2Q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDmQ5nEBa+wwrj7fNlWlOEqtkgE9IYz3a7wFqvjuhYhMwIgavZBn3UFlzjyp1CoKCK6ka6eh9txxTAqIz+QKsA99IM="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta22_1606453707455_0.07332972667045978"},"_hasShrinkwrap":false},"2.0.4-beta23":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta23","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n\n#### <font color=\"red\">重点:</font>\n\n给`customStyleGenerator`赋值的时候不要使用临时对象，否则性能会很差\n\n<font color=\"red\">错误用法:</font>\n```\n<Calendar\n    ...\n    customStyleGenerator={\n        params => {\n            return {\n                containerStyle: {\n\n                }\n            };\n        }\n    }\n/>\n```\n\n<font color=\"red\">正确用法:</font>\n```\n在引用Calendar的组件的外部创建const对象，然后赋值：\n\nconst customStyleGenerator = params => {\n                     return {\n                         containerStyle: {\n         \n                         }\n                     };\n                 };\nexport default class XXXX extends Component {\n    render () {\n        return (\n            ...\n            <Calendar\n                ...\n                customStyleGenerator={customStyleGenerator}\n            />\n        );\n    }\n}\n```\n\n\n\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta23","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-Ub9+x+XnukHRQ3nOpI2QHJf3RTulv0IrE/1gRv8Xbh1BC5DVN0P5ld6QNt9j820GbqlqfZlZQt2cKi08QabeAA==","shasum":"b70292a5e560d331dd6318491c622ef0be658b17","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta23.tgz","fileCount":22,"unpackedSize":185346,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwIymCRA9TVsSAnZWagAAFcQP/1M0ikQUughqdZcY45SS\nkD6kbI+CTkto6/97jBmknR1zYvj3k9ncF5pHDMNRNS9f+drvaq5SiB9iPku+\nifEI6PM2XWDRcDrNC7Jy8QO3AW15XTwLGsIBTm9TpSkhdpMLlzkiAdpEHmSj\nRXksMDicP7JZ7YzvjYmtb5q4eyPJJ1APK9HZfydUl34Y3xdZ6jhU7n2zMyMm\nCZyEjU4TlMfUli4I2u5z1uiKHIjj2Flss9dPrry8EjjOnLkPmgvZ3jWkoj2J\n3HcDFHtnhCi7SDXRSu0y4Sd3SI3tBEMm8NBjb/jMVD7cYHmsGjbrup4rGP3d\niFtehG0ZbihtZcCORuJ4LjAVarF8aVgsaAj95TaL7Y0iKOKk8lxpMac7o2ur\nPS5jsB+xV1WeI4jSruRrjE5hQF3Lm5bk6Gi7v3JrJvzYtYiVAc7E4j1EXyP/\nwHYLPL4PxC1z6jTmDTOhED2fSu3LQKOlj28KjR5Tz3TGxfbzTPJvDAfmg2Dk\nmq5Wg2avYp/9GIeyfC5wpypn1jtlrUyngopwSxLN4ez+ubTHdU/79S1Y/16Y\nqDe8oF4/u/86EG6iwzr69QMLM5feaKAl3hzQ4ORoXNP5QoS724U1IQSirc+d\nWID+bYudGzGD1aZSgY1Rv9Z8+zlp6PDLFEjb0SYEd2dqx+gT4j3TZ4r0SgnE\njRt7\r\n=MGdC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDLF29aLxhkhHO5p/6UUl03B2JPs5tbKlJT10Ndf39d/AIgBcObUCMDftYyKPA0Pd+boG8dUSvb8jT1CKsi6+s+zug="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta23_1606454437899_0.1431655015128117"},"_hasShrinkwrap":false},"2.0.4-beta24":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta24","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n\n#### <font color=\"red\">重点:</font>\n\n给`customStyleGenerator`赋值的时候不要使用临时对象，否则性能会很差\n\n<font color=\"red\">错误用法:</font>\n```\n<Calendar\n    ...\n    customStyleGenerator={\n        params => {\n            return {\n                containerStyle: {\n\n                }\n            };\n        }\n    }\n/>\n```\n\n<font color=\"red\">正确用法:</font>\n```\n在引用Calendar的组件的外部创建const对象，然后赋值：\n\nconst customStyleGenerator = params => {\n                     return {\n                         containerStyle: {\n         \n                         }\n                     };\n                 };\nexport default class XXXX extends Component {\n    render () {\n        return (\n            ...\n            <Calendar\n                ...\n                customStyleGenerator={customStyleGenerator}\n            />\n        );\n    }\n}\n```\n\n\n\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta24","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-i56SjIdbkPeRcYXdIV6kgpOrkj1oCc9DgvVIRJZMf2S3bJi/y10KF79GrCfOE9YMXxRuE4vR1DM93cixV4yAFA==","shasum":"aec431bfcf66e386e9726dc556340bc046b7079a","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta24.tgz","fileCount":22,"unpackedSize":185350,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwI14CRA9TVsSAnZWagAAtv0P/0auQbKyWPtkXIwvGEQX\nkMh9TYXqbIswW0pcnfQCrRnJKhah/4l5RW8JE6uZnDmhuvDjt1K9FyUwc5gm\n0PkNMc4EpO7gdhEBi71VOkY6zi+6LypFBxcJRmWNqw7W8k+XMsIAPQBAORfA\nXjuP+KNvRYxCoR00mGwGEvaUgombo0WtdEsRl8Oc2LLulfTSSTqaJL4wTp8c\nGqX1oyAWrN/6u6QPX+/PW7n9AXJUrEFu3RamIggawZ4xMxTNRE2xnoFRNEft\nekLH1Oi23f5HOhGjxk6OxAcDPqfg3qfkMangGTE/SS/zd4pYh5L3zCTuR4AN\nmRBAngepGMkUxuB+brzg/thYdvcd7wosmvrp+vfUymil7q3CFwZE5+ON5qrQ\nGTtR+pbUnbKWM07D7WH5qi46kuw/KSyzAnxcVsy9t0X03PZjCxzwH3IqMLIZ\ndMALaxE4QMG6TKiRbQ/rncZT5eKlfHSy9HtutHCsNE2Mkxbyc9buV+2vEY95\ngTKea0D7smno7fgzkKyUvPoKMWnX2u26TfrVAMcalTs4eCL29yWMPNXv6D81\nB+nudE7HvzXfBZO6wKLkxBmtKJy4WVIKg6gCLV2OFmhVcbZ9LnNsYBMcNyjf\nNv3YUWK0v4veAxZFoQdfCqRkE+viQbbyI96w/dcarLF3VpXdTiikO9WgUr+D\nZ8bQ\r\n=9e0n\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDB6LY5ERdpz2PsWK00jAIUn01c3Pffy753TUg+w8/ysQIhAOOqlxX8QjFPvMR54b1VV6bOqiRUSs1wdLDRiea26Y3N"}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta24_1606454647999_0.22745643683841"},"_hasShrinkwrap":false},"2.0.4-beta25":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta25","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n\n#### <font color=\"red\">重点:</font>\n\n给`customStyleGenerator`赋值的时候不要使用临时对象，否则性能会很差\n\n<font color=\"red\">错误用法:</font>\n```\n<Calendar\n    ...\n    customStyleGenerator={\n        params => {\n            return {\n                containerStyle: {\n\n                }\n            };\n        }\n    }\n/>\n```\n\n<font color=\"red\">正确用法:</font>\n```\n在引用Calendar的组件的外部创建const对象，然后赋值：\n\nconst customStyleGenerator = params => {\n                     return {\n                         containerStyle: {\n         \n                         }\n                     };\n                 };\nexport default class XXXX extends Component {\n    render () {\n        return (\n            ...\n            <Calendar\n                ...\n                customStyleGenerator={customStyleGenerator}\n            />\n        );\n    }\n}\n```\n\n\n\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta25","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-/8Yk/uHzKER/07DYg60ENZErto4GNqR1hXjUJ56L9TVcDNETAUyqsYewCEQ7vvam1cVVnPhSCE7bX31grL//8A==","shasum":"b0e6d58dd47f2df84e1617beaa4c0d82f64f9204","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta25.tgz","fileCount":22,"unpackedSize":185352,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwJIaCRA9TVsSAnZWagAAk54P/j5FN7QEfzvw0WomUs7s\nALjbG3N/EZxiBY9C/fstVy6qCWcAvbbsBcHORGe9APRJdreRh3B81x7couvM\ncK/gWOp/aqRGCHyeWgJweNpUkVgMDMEaIrg7SIGDhDBZK19DK5C+g6feC8FE\ni0T2f+piLRpoIytXp2fFblXrS9UuqCPD93YFP3bqsxmOkUyDl5GtuvLMtAVu\ntEbDsqnEvxDpfQRoyo2vVIqfKTz9w5AeJtyJkLlrjIiEoZw0z0Cy+AbtkM3I\n062s0IDsD4fZbaVyRH+sHCoBrDXuEiqF5fu+qreM2J9XlswafzfVER2BVFn2\n+Md+UqZk5rze39cV8ceLHNV3f2vsWSmhXaCZuBwFLdaGU3DSLRlcqCoejlhm\nAWqsS5rUpWMg+K254j4jA4aJ/6zGA/Q7eohJzerOZmdnPVv+BWXYm9fSB9w2\nQWdq0bNSinJcS1ZBx/hXoHA5s4a/lPsQ5YLZfhpOwlPMkWixbBuJ3YLa7e7w\nXDT8e7yDuL2X4JPpqHvOXUY7ZmdivGPE5WaXq2BtUQkOpgA4IyEA/WV0vZoo\nyVujVsqhmah3ia74AnRFaKFFZjI53nhrcItx4zocL5hzVPJ8MgEatONNnxI7\n6sMI2tKEnQWAToC8S4nTfmB+qVrdT0y/m+ur+j2l8CV6TIe4JBO5iuJRu3CO\nqCte\r\n=ZOQZ\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD4IYykwtNA3cRBE848Yuw7VbxwX0GG1zSLD9hqrMtLhQIgftHHUf7wDz5S6e90PGrVoE4IZ0ulDZ3weSnwrlmy9EU="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta25_1606455834474_0.6392707077806934"},"_hasShrinkwrap":false},"2.0.4-beta26":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta26","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n\n#### <font color=\"red\">重点:</font>\n\n给`customStyleGenerator`赋值的时候不要使用临时对象，否则性能会很差\n\n<font color=\"red\">错误用法:</font>\n```\n<Calendar\n    ...\n    customStyleGenerator={\n        params => {\n            return {\n                containerStyle: {\n\n                }\n            };\n        }\n    }\n/>\n```\n\n<font color=\"red\">正确用法:</font>\n```\n在引用Calendar的组件的外部创建const对象，然后赋值：\n\nconst customStyleGenerator = params => {\n                     return {\n                         containerStyle: {\n         \n                         }\n                     };\n                 };\nexport default class XXXX extends Component {\n    render () {\n        return (\n            ...\n            <Calendar\n                ...\n                customStyleGenerator={customStyleGenerator}\n            />\n        );\n    }\n}\n```\n\n\n\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta26","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-ATnX3KYYiqlX+RfTHEVh8qJoE8aF6m5JSf5qIlm3oFF9HYFXfVmnS4zyXnRyEibQ8tFqeCWKGdN4LL8UkxXFzQ==","shasum":"1c277e5c49ecaac7d88235239df09b125eabc08d","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta26.tgz","fileCount":22,"unpackedSize":185358,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwJJuCRA9TVsSAnZWagAAKUIP/RNLoK927RoDcPpFSv7P\nVS/Uqxa8UbgvhTuAu78BtzIxEVnKYfRaonmghymUOgUjeUvVcJi/ZNbkEOhm\nOOpDNgEQy4hivfBzvq9QzFfnVrbUZsnRoOreY0oF/mSqnWLWvQ+ueluqmXbh\nLrJLizT30u6mMJe5copmjhO+x5VK+0oNXm7Ag8ixD0TbrJyq9byR/nT45dEt\nIYG7vYhevT87IOf3qjwxzToUBOjt8JUTw1src85HrrWce6sPFvGVLz1O6hUX\nW9x0mzuzwisltEuKOBBEfwY8d8YWvAsbqxr11nkENbIBZ4YCXkG3WisyUPKF\npCYrBYSbt/41gZKJJExt7q01NX+LQd98vPG3yupV0gclB89Jz3CLwDEvtk5V\nezStfv8MKvoPsvMH6NigKSoNtk9Z11JOZhDoUnXI/gHsKg4WPd9NAMJ4DMVV\nY97NDr85jy/p2gln/CnhXbXluYtZzreOBxPnz/BHmWyA/DmqYbn5WWl7L4jz\n//jIH70hZ4mLVE5nGzqLqxtkigwNpJujHc0ghNiAYliseYdFgnTTA2dm3LnE\niDO84n+8ylflLktAlbFF9D0rfyBipl8eq9+4ZRTUa8weanqWbt3Umf8fzG6A\nt43FmAcFs/hDhc3b7g+hgPQR5VBuQNVocGGYVxiRKTYPVjoSq3JqbHk1nyU6\n0KLs\r\n=GVHt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCPqwGV1tVJ8MHtinQ+r5xPBs7AcShEaVjVyrOrwScDjAIhAMhEBFsgDcp/lAGHEfYZJfOdgFVNNnPvSC6hqOy2upet"}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta26_1606455918023_0.4449172288964798"},"_hasShrinkwrap":false},"2.0.4-beta27":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta27","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n\n#### <font color=\"red\">重点:</font>\n\n给`customStyleGenerator`赋值的时候不要使用临时对象，否则性能会很差\n\n<font color=\"red\">错误用法:</font>\n```\n<Calendar\n    ...\n    customStyleGenerator={\n        params => {\n            return {\n                containerStyle: {\n\n                }\n            };\n        }\n    }\n/>\n```\n\n<font color=\"red\">正确用法:</font>\n```\n在引用Calendar的组件的外部创建const对象，然后赋值：\n\nconst customStyleGenerator = params => {\n                     return {\n                         containerStyle: {\n         \n                         }\n                     };\n                 };\nexport default class XXXX extends Component {\n    render () {\n        return (\n            ...\n            <Calendar\n                ...\n                customStyleGenerator={customStyleGenerator}\n            />\n        );\n    }\n}\n```\n\n\n\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta27","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-5dJkZen6brVMS8/4S8idoL4AobB/Fv82ZelCEDZP5XONQJpMsG5ahSBXJfI/J+rTlMk3DsZU1c+U3l4eQ9/dMw==","shasum":"8bb4a8f9bdb6f08b6ed6cd963e1aa90dcf687ac8","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta27.tgz","fileCount":22,"unpackedSize":185432,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwJLgCRA9TVsSAnZWagAAtREP/3+E/lUmkgxP5QeZr6Wj\nqnplmas9N68M8PI4wnP91Fh/GohWaKs/yDxUcqYJZRCJBiXwkXuUmwv1yPMQ\nAbvoVfvlQuPrDA57CA2zV/QjmhU9zy1Fyx7uniIu+i2+uTGDJFaG0veRiN9C\ncwb06AAUafAyfNeIlZde40L/ToIJX+BchnINBXnXaXfGBKzNJRyRJ7zcc6JC\nUAOffRBLg0uATWxrAMroNa+CzdG5iithuMH+ooohOGBznArBqiKJeyNjs5Ww\nvt1ia0jpM7E+v7fYNDuPCMs1bZNC+xGsKwz1MJOZRkgNOMkRnQPnd8oYquvX\nTTUGn6OQB+HinRSnY6OrKUpP+srL12NX6CW8V6HomuA/pA75374K/q/+WLbo\nbZ9Ty8BH6u9ma4ibWlgNLD08bH3uKMwrnBya3Ua515fibBhmpOXhHTOZKUpJ\noo7Bdp2O1cNi5CL5z0dD+igSjtimk6yF6Xy687yAZ0bbjVK7C5VMpfZb6Nll\nDmhbVIexzVUnzHmXO62/o/2iWSjPiUNfefOUbUG5iy4iolqpVC/4TYXRLky2\nJZMneFjd35x0CuKmAgP5yZBa3uSTCGTXuz2EnJF+exsWdVAv/hA6R7V9L5ik\n1VSVv+DjkU/gUsy2vU6NdWJ50vq5jhHv7ZdBMI8jnZ46t8ZAYbfOP8huwv4t\nWIZB\r\n=72o1\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDAJllKTuFpa+lEEay/v7F3kqEiteVOfq0CiqxJsGX4HQIhAPRgUV/3GtU/lSpnUxURFSJiOF4R5RRJgxQmgejZhtqq"}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta27_1606456031603_0.3028106255379719"},"_hasShrinkwrap":false},"2.0.4-beta28":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta28","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n\n#### <font color=\"red\">重点:</font>\n\n给`customStyleGenerator`赋值的时候不要使用临时对象，否则性能会很差\n\n<font color=\"red\">错误用法:</font>\n```\n<Calendar\n    ...\n    customStyleGenerator={\n        params => {\n            return {\n                containerStyle: {\n\n                }\n            };\n        }\n    }\n/>\n```\n\n<font color=\"red\">正确用法:</font>\n```\n在引用Calendar的组件的外部创建const对象，然后赋值：\n\nconst customStyleGenerator = params => {\n                     return {\n                         containerStyle: {\n         \n                         }\n                     };\n                 };\nexport default class XXXX extends Component {\n    render () {\n        return (\n            ...\n            <Calendar\n                ...\n                customStyleGenerator={customStyleGenerator}\n            />\n        );\n    }\n}\n```\n\n\n\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta28","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-lcXs8NdsoOY19SlfkdEDN4TjjFn84Ni86UX/OoJYgqvLgScKlNFgN1UZAr6NuyJXy//+gogexTklj0rMaSB33A==","shasum":"c17ce75c1c8f5f261a0d629e551f7f44b1f7ed7d","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta28.tgz","fileCount":22,"unpackedSize":185471,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwJNnCRA9TVsSAnZWagAAPj8P/35yr1oPHWptgQD0vd0a\nbMTHlKrcPWcj4e3AMahYb2Tc8qX8YTtoTDcF0zqpil8jT9TWFaL2jMesYz6o\nt1V0R2GiUA0z3QQ0MSPR9RbjnYuG35LkATB6V2uHl+FZ4j0HIwzyeyfzmnlg\naIUwT0yyDz8F04fBIkMVQqBppZzn5BwYmi0U7tBD285965FFLn+qiKfDQkQD\nBX9zlSHf5DiDDSNLPAut4tmTqeaVFDQ5FanioeLj0FIY1FXk3sRpIJvilvR7\n+UEj/4vLKzTgLJAv10sArSH11hCvwF9vrHgeaiPI4EwBe/Ojrj/tEVRB7u4d\npUdgTlpVogSYzvdBKP3wV3K6L2Gwb07vtY3ovIDmYzJ/X3njwYD+kKFBnzlN\n20z7exstSDdTbT2a8O4mUtzVoDZ/1SAQwo7Fse3FYttROgDSpp0KX5hm1DLL\nkIjjenLGokuAGWRev295wB08DkIeWxF98DtqHfeueAneHPs7s0A6L3u8nH/L\nsgaMMX8NYq/u0qvPULhKIFSX3IQxUNKUkoX52ds9LxH0rFjWTjyXjQ+EEELu\nZ2ZjILs3bi//LFB/eSZndVtyZKgUSCSe790CNHX40l5dhqrvuQCsG20xdG6K\nR3m/tirkI0hnqaanxCc2XE/fkvYWUsy9Lnob8KEB3zExBGtGsvHCI6JIbzDQ\ngpD5\r\n=Crac\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCf13dNiallWIX7AJAhjrrI6lSBOAIuNULj3rsqsmceKwIhAPe4T6OvHz3jnCFk+AXeBcfaHwPHmnyfG51Zxk0lQTOs"}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta28_1606456166972_0.3346045950034593"},"_hasShrinkwrap":false},"2.0.4-beta29":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4-beta29","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n\n#### <font color=\"red\">重点:</font>\n\n给`customStyleGenerator`赋值的时候不要使用临时对象，否则性能会很差\n\n<font color=\"red\">错误用法:</font>\n```\n<Calendar\n    ...\n    customStyleGenerator={\n        params => {\n            return {\n                containerStyle: {\n\n                }\n            };\n        }\n    }\n/>\n```\n\n<font color=\"red\">正确用法:</font>\n```\n在引用Calendar的组件的外部创建const对象，然后赋值：\n\nconst customStyleGenerator = params => {\n                     return {\n                         containerStyle: {\n         \n                         }\n                     };\n                 };\nexport default class XXXX extends Component {\n    render () {\n        return (\n            ...\n            <Calendar\n                ...\n                customStyleGenerator={customStyleGenerator}\n            />\n        );\n    }\n}\n```\n\n\n\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"b5d0cf3fd4101751998d8513a7af0279cf4b8ef5","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4-beta29","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-OZ67bP1dKsovx1aZBCVAdSHaRSumx7hBINsFBJX4NSJJL0Lr9BQmN7/fJ5V7IsqLDhUE6JYkkgNrb60/YmcmvQ==","shasum":"c7bc446d8a300a29d4ced423d96ab51d8a15e252","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4-beta29.tgz","fileCount":22,"unpackedSize":185539,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwJPJCRA9TVsSAnZWagAAoA8P/1tEw2bWFoRyBw0UrEvG\nGha5x39uOfEY/qTPJakBHsut1GJWf2tbg2kAcjeVCAOFU7ejhm5c3/O4JW8J\nU8Xl6ykh3048cfDWdNBIsAJCfbgbVXfyPE8tX6LH/I/rnjxYlQp1PJoOLrFU\nx0BA/3zI9+r3wsmCcCgYhZJI0ubh82qkN0ngqBYQfXO7oQGX/YZEQ+UCne9a\ng0Bc/GoL1+pM56qWNSd3ZvUbdjLDrsW1qRoPoBibLEFGwR5fN0lVrJ/ev8DA\npMIb2PTlMl8xbJ6iQqo4g+b6m0Tzg04RLNRE4JggcxRxYx6RLKPBfWHxEpqS\nU+xb+oPaxcrwetwbtI/Qzn3GamvwOTDm1u+3rDAJEOZ6KYUVMG97ch+Xr0Ox\nsA+okD7FxgctY18Z63WaPHmwFXS/XlIz3ecmxJiNIRjkW+0zV4/5KUUga8YV\ndQvzBr8RCVGPRBRPiB18FcVGgAPYHFCPUs1k6lU+p6QMlo/87miEj+c2vgKe\n2gogDk0uqCnOiLy7OUwSRK2ENaTzFlAvLG0TV7F78RcIU4tG2sIqNZiB1cwa\nIzan3kqTsGr1DzFaH13k3EAOuNxnyKTtUQLqfNb+B8zp8+JP6b1IB1bOaLPH\nO5xz9C3w486Qg3f3zCm3HNBcnt4Y+Did+olju10l5Rgqcrif7HTzqL/9bxCA\nxVrC\r\n=qW5q\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDg7/BTVQb6lFj0+oxeGY9NiKaD6gNHETHraf6ouE/I9wIgOJXJvJ0GbFz5JBNErB8Jx0oRHAPTlWaJUUNJUVKecvo="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4-beta29_1606456264863_0.6962487756508551"},"_hasShrinkwrap":false},"2.0.4":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.4","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"1f7875e7d1fa26ff3be465ca38abf38b21b7251e","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.4","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-4/UHyKcWs5Ho2jrRx8GjGzTdFDW94Z1YZW4P/u5w1U6TOjC8GUs+ZKPOF+3vt5aBw9QJHpLaYQQeouK7YPLJnA==","shasum":"cd1ac4c02ad46daadb4879440dbf90a4d19b8c97","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.4.tgz","fileCount":22,"unpackedSize":185951,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwJULCRA9TVsSAnZWagAAoK8P/RGSooK/qjkB0NxixTfe\ng4tL2AzbWPuj9newfLkP5OeTvgnsUXVtHQuA9zhztjNaJx9/g19HErr/sd6P\nOkAkHHSjXj8r0V8GFt53v2zPpqKau2iZdaf44b17L8F5K2/MfgBNq+9x5e0U\na94ovEA/ptbXTqYfrLVsNNt/osU5o+mDlhFw9AKQb++QMjtvAiQR49bA5QwL\nABnROfWI5fRkDYtKmARMWCnq4E+It5RjT4yQlQ5GGOCbIECJLfP56htYjtu1\nQ2l4xrxNFFktKXetXXwxVsdv59BXl3cKe94udUkoXQE8D41y6bxy4VHTgXpg\nnnDdbwrqP9mAwvfAvixwYYhuoIpKqC5Gt4cFHZ10ScujkoDLsL/yVgP4sxZ3\nJz0LWkmA+mfaGbQZFMLI4Qpo/bSMRu816C15yVJ3RN9v0JNAu/kzH8XazWzu\nSzlaYTXR9lT35SloDU4utfuUbcpHpGxhWmqcw3R17nQPW+L0mlgqNKg4yEZ7\nlTh4Vd6JtGfBEoxL9QBh3chEeH2Tz+flE/BSmYdoJUwD+wQ4jZvUxIvZ4EWV\nR+Mh3wPO7toe6gUW4apUFhQUt0KOxyE83KLXa4HzOf32yicA+isTIKTmQW21\nneg9f6A+FTpCUKndsxW/vuDNamnzneLRyWHK4jufjgVqwEyFVEt5UkqJSIoi\nNf6j\r\n=WXWY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIDfQmSG50pAxkykaGOjqUeztnPE1OCyt/aTl0/qP+zRgAiAVHeDthewBpUs7GKma3yV7T/iQ7K3tEmSY4GG4pXueSA=="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.4_1606456586957_0.3046442539899048"},"_hasShrinkwrap":false},"2.0.5-beta1":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.5-beta1","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n\n#### <font color=\"red\">重点:</font>\n\n给`customStyleGenerator`赋值的时候不要使用临时对象，否则性能会很差\n\n<font color=\"red\">错误用法:</font>\n```\n<Calendar\n    ...\n    customStyleGenerator={\n        params => {\n            return {\n                containerStyle: {\n\n                }\n            };\n        }\n    }\n/>\n```\n\n<font color=\"red\">正确用法:</font>\n```\n在引用Calendar的组件的外部创建const对象，然后赋值：\n\nconst customStyleGenerator = params => {\n                     return {\n                         containerStyle: {\n         \n                         }\n                     };\n                 };\nexport default class XXXX extends Component {\n    render () {\n        return (\n            ...\n            <Calendar\n                ...\n                customStyleGenerator={customStyleGenerator}\n            />\n        );\n    }\n}\n```\n\n\n\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md","gitHead":"408ae4bcd34b7ba23f753781a770628336e9ec76","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.5-beta1","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-T9ThKdfQWRI+8zbFh0D39uI/0a3eBZxWqH0r3uwRreyOIMi0Det9BbU2UFJVBCS4BKgTaJt98qFgVIxtJ7rcnA==","shasum":"d7468b4b1e26318cb17a9af9683a6342381adb08","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.5-beta1.tgz","fileCount":22,"unpackedSize":185645,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwKj4CRA9TVsSAnZWagAAxKIP/RqciLfkqyHyP1APGhwv\nHSKZUOjrC+6qyoq00/jD1d/zR+DLAPHIzQOI1KuMjqLC9bYCbxFKAruXlsRT\nt/K5XQ0XyOMLWrqvusHBuHbHr07b+pfFazB/8vDoW8XT6SPptOU3EaEIlgeV\n1SV3SlkavM41sWvV8ogF4wnRMgAhnqGLlPLibq5kZKX7OoiFkWO3DRzMJXCB\n0ukfv9uQDLDQW6Q4z6tp88THrOKlNZ9hkwZEVl5TVSnhe/bwjXmxLe7I1Fvk\nh1JI2/1nVisccXvV3uWi/RmXWFSy6CwGT3moubINdDoaET4756XRDWqIpzRK\ngzelZG2tCTMam77z4x4yx6NQtZbsjXGoVYVhVGq72N9JZOCvWrE+AESGEizR\nw1NnlGjhJLAZgT8SFwOdFA/Piop4yn6D/Bj/apm0NElHJvZ6UkBC+w3Yeu8k\nwWT3JtXjXaJ/aEaNsQqJ/NFcZMfmTbMeq9OtgiH1HXUL4SMiMmGUcT4blJ8O\norZyPgTc1uSjMY1gBVUbH+yxmP2S94m+gjIqR17or8nyD20v9cxQQkao7D6H\n95Mp1cw4iDnnfWvdYmaSMJqGFy48JxIp5oWqFFcgsj8ndG5308iX0KK1c96h\n796RjdW0n/QM4e7GdtrlEE8zoJNIq6Rymm5cQztzahNvNuZqX2d+V+VMW+me\nIRrE\r\n=5UQq\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIF+FJETM7YtZy470lakuGRdTQissYXZ+tjyA6H5MwNm0AiEAuDb3h5RWRE4FUdydsMVN2QWs+XmfSpkayLRvKwtn34k="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.5-beta1_1606461688180_0.29693777568938984"},"_hasShrinkwrap":false},"2.0.6":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.6","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"8ca4c394e1a1b257d201cf6e8ab052be1e0303c4","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.6","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-bwsrc3D9dn4BgkZlqUXj2rVMO/LRdUqPGxhrAhbZUqZUYprnDMi2zbT/GPQCQfrXrr9EIW1VVKGvHxOEEfS9nw==","shasum":"37b2b57cfda3e1a3c9cd3d22cc27c880f29878df","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.6.tgz","fileCount":22,"unpackedSize":185920,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwLIUCRA9TVsSAnZWagAA7FIQAKMwd1v3wSynRAU0oKIp\nVfifBq96Yl45kayzLYqH0ZC6H2Kt6rm/NFxwDp7b93EGbe9x1iQPchKFu/am\nG2Abk4ZrQ0mAKHSJoCmsmf/4Bx+/YzzHJcD88NPilQxnZ6lqXlioTUoS5CHd\npIym/FobbCel9t5ZvjNRMwFS4jtIH3n3iuvdJp8Dx6Ihbi5uMm58XuY7wKOs\nggq23RrsAI6Cpmz2UTYhC4KQtBLU42DGPgb6NhKydxftf7zKE+gMCNipL4MO\n8gOfOFQt5M8GOTX5zXVuBfuXlms2AyEKGilMYoX2OXg9bbAd4WK3R6ycmoA9\nvRFgvExq/bK4PgxW86GBBUaZQJP2A1h2D7IJpO95rmfrZ1IJDATvmNJtAjcu\nwLWsNHnLbSCQxLorhvuu7gRR5rs7QA4xO5ofJchBd/9DlJUZfV4sGw7TAd5I\nLtnEss7S3F1zU0O7DJXCX8RQ91vGanWqv8fLatYn3ZRMI4xSgBTlc3sceSnn\n0djm/jcMY7gLXqGGqaDKKPD71opHs4X1R101cfNf9eDIF5s8xX1ejGWjXPF0\n7xjCPEd2prISOPK1sO3KiaaQmSib6EIWGQujC5cj8RBGhiEOtBdByXgFz8Ep\nRoB/bdCjEG5jIt9t5S6bxXZ5ySPDbZQPS8RC3ImhAsv/LGyAwDBIrxZKie2M\nlAqn\r\n=A9DV\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIC8umVEnB1i02aShYJn/3zPdKUyOYf6nxiwKmq0r+UKoAiAguqQ0WnIrD1bZgkxqXFytx7c9l72QYNv2+l0LrqRPJg=="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.6_1606464020026_0.2852020718172479"},"_hasShrinkwrap":false},"2.0.7":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.7","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{"@babel/runtime":"^7.7.7","@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0"},"devDependencies":{"@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"8ca4c394e1a1b257d201cf6e8ab052be1e0303c4","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.7","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-48o9nPq2kzXYwav0Ijs7gABjH8v7re013veWcX85dSIJJ85puUXE3GtRqULVESgkDMuZDljXW1JTzCIXF4PFDA==","shasum":"f3528442ebbe937ca5a4835852e83d924c87fc3b","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.7.tgz","fileCount":22,"unpackedSize":185942,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfwLKVCRA9TVsSAnZWagAA/QQP/R9B+1NI2qUzWx/JSOCn\nvYrKTUVwcCwLLLXSs2R6GwCVOkG8Tgd0H1M5u+/LmiUyBlF4ZcZ6wPxdeHI+\nwmHvxmaZ53dxO338SfJyG+3SkgnPdfDD4HSFmX7zld2TzeLFP+lSRlINajdC\n/u2pQL1EpSHv2GhLEmXFGrdqKdkg0S/wA2FaUdD7M/xx4Y4k2URB3gSWu81S\nhNL46T+FILyE0xfUUZWKXDBALRhWK+e4Z6OvJXQO7djlCwE/hfg9gbSNDAEL\nizYP/GnL8qsWz1g7FbX6hGmu0kt/zC5E3rMxHLuiunWxrkY9Zi6sD6NMDbfI\nye6ZJ8mNwQL/P+8WoRoKN6vrwxONyAjksZ9gyNi6x6djEHhZQgUf5F2Uq5a2\n725XTNMyQDI0qcC1YA+Xsm941B+bByGrXXpBWROZlOsk0/74Xqf0m9tTJpLI\nEYD8U/QhJPBEK/g3hZ3rYfMw4Opk+77knxrxerDt4+NZscVil9ZLkLyRrMgA\nB9SVOfhKjra6+7crXMpDlfViWuF5uGGoJ3w1Up41hmsnPlqPf01CplojVgw0\ndpIvROImhtxomZnaopCN8uZbcyPcY9Z12uQo9c4CZ7UUVAGn9+DVz5IEnr7d\nC1t1Ovp0FfIrOdl54wkAMSZa7j78fwTZrODFCdzwgN2yPmpWAn5/26Bxje+T\n/GwU\r\n=lTp2\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIEzIb6yYT1YlJKMKSFCO96+A36XBmiSKazeFFoqgAu4EAiApaZArdpa0f1c0d9O/5nh/fk5+ds7XylbtFaZx29zgMg=="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.7_1606464149362_0.8762740756884759"},"_hasShrinkwrap":false},"2.0.8":{"name":"@yz1311/taro-calendar-customizable","version":"2.0.8","private":false,"description":"可自定义部分样式的taro日历组件","templateInfo":{"name":"default","typescript":true,"css":"less"},"scripts":{"build:weapp":"taro build --type weapp","build:swan":"taro build --type swan","build:alipay":"taro build --type alipay","build:tt":"taro build --type tt","build:h5":"taro build --type h5","build:rn":"taro build --type rn","build:qq":"taro build --type qq","build:quickapp":"taro build --type quickapp","dev:weapp":"npm run build:weapp -- --watch","dev:swan":"npm run build:swan -- --watch","dev:alipay":"npm run build:alipay -- --watch","dev:tt":"npm run build:tt -- --watch","dev:h5":"npm run build:h5 -- --watch","dev:rn":"npm run build:rn -- --watch","dev:qq":"npm run build:qq -- --watch","dev:quickapp":"npm run build:quickapp -- --watch"},"browserslist":["last 3 versions","Android >= 4.1","ios >= 8"],"author":{"name":"zkyTech"},"dependencies":{},"devDependencies":{"@tarojs/components":"3.0.0-rc.6","@tarojs/runtime":"3.0.0-rc.6","@tarojs/taro":"3.0.0-rc.6","@tarojs/react":"3.0.0-rc.6","react-dom":"^16.10.0","react":"^16.10.0","@types/webpack-env":"^1.13.6","@types/react":"^16.0.0","@tarojs/mini-runner":"3.0.0-rc.6","@babel/core":"^7.8.0","@babel/runtime":"^7.7.7","@tarojs/webpack-runner":"3.0.0-rc.6","babel-preset-taro":"3.0.0-rc.6","eslint-config-taro":"3.0.0-rc.6","eslint":"^6.8.0","eslint-plugin-react":"^7.8.2","eslint-plugin-import":"^2.12.0","eslint-plugin-react-hooks":"^1.6.1","stylelint":"9.3.0","@typescript-eslint/parser":"^2.x","@typescript-eslint/eslint-plugin":"^2.x","typescript":"^3.7.0"},"peerDependencies":{"@tarojs/components":">=3","@tarojs/react":">=3","@tarojs/runtime":">=3","@tarojs/taro":">=3","react":">=16.10.0","react-dom":">=16.10.0"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"publishConfig":{"access":"public"},"main":"index.js","types":"index.d.ts","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"gitHead":"d5f9759aa2b87ed1900d82fa5b41987847739a36","bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","_id":"@yz1311/taro-calendar-customizable@2.0.8","_nodeVersion":"12.9.1","_npmVersion":"6.14.8","dist":{"integrity":"sha512-gjIuCUfrbtp8zLdocE0AAljwEQZAOti1iZ6SJP02ka7+Ou/8rtAONHUJ4L57zbtqfLuyVnAY1Uq+Kj4zLhwnEw==","shasum":"b31e1e561f6e9135d157f62146cb9a9855b6cc7c","tarball":"https://registry.npmjs.org/@yz1311/taro-calendar-customizable/-/taro-calendar-customizable-2.0.8.tgz","fileCount":22,"unpackedSize":186146,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgPFfDCRA9TVsSAnZWagAA4D4P/0R23UkxsiXFGSq1/Ahm\nsB2EihtWT069OA+uasJNqjo0uA9Tu9GM4BPGv5WJk0PWr6VkE1iyLbuzWdSz\nQiMKGWADgE19JDD6s7Y54qXlepkOLjtlWtjkLx1Oxsm0jtyVd/Pb6VQJNJi1\nfMnf9CSMl2isB7hUFZKJ1e4SKqHKDutP63KmfsdqDVCqmLvxcYHI8Y66j5Vv\nZzcEy3BREFCHOAk2UtUhiPqYHvjmq5VdC8qvuGOlDI4Egs5Wx/bamBdiTTMF\nyBoet5lzKPpR7Pw9QL+j/uEZUJmh0VPWjpO3+Otw875gZ2aw7UK1NsJjEvbs\nUYjSSRydtpHyTjQwEviy73pH8zCrjUvzEM09ZeZolE7y4NQLLL4cX8Ht/kCO\nx4Xwa4KPUDWNDy7oXsq9g+ky58nIMEf8UObiVfFLZiXNpBJ5d/YkrNy3w7Hn\nFY3/F6Kr7wNKCaQiqe68HZLX7tKRNXWjfLgg9eoq59VyQma3Jwjp48P7n4Ya\nlqcT4Mrr+4cH3DQAZISUVhQbCNN35tG0NI+bFcy3/HZCQu8/fC9Mhglj7ox8\nExoGUkN9zs2Yp9VnNT82Ouo/AAcAEsoEdx5rkgRefVkA5hCMnv//2oF8tJp3\nltaDqoOAXH2J924hVoLLux+A5742Q/zBWJupTBdrdKjGIN0vxCCnzLMcdzFd\nVjuU\r\n=5KLC\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDPiTqM6qq0D38V7q3eEOtMQN86CIg/tYNiSlkffetZtAIgNahN59/0qBWV5lxi7u4L2LoMul5IkdRNkU2vsaTYEpY="}]},"_npmUser":{"name":"yz1311","email":"yz1311@foxmail.com"},"directories":{},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/taro-calendar-customizable_2.0.8_1614567362396_0.06019141363488534"},"_hasShrinkwrap":false}},"time":{"created":"2020-11-25T03:36:06.872Z","2.0.1":"2020-11-25T03:36:07.069Z","modified":"2022-04-11T11:24:11.859Z","2.0.2":"2020-11-25T03:44:23.233Z","2.0.3-beta1":"2020-11-25T08:18:41.575Z","2.0.3-beta2":"2020-11-25T09:03:38.133Z","2.0.3-beta3":"2020-11-26T01:34:51.824Z","2.0.3-beta4":"2020-11-26T02:39:49.131Z","2.0.3-beta5":"2020-11-26T03:02:10.845Z","2.0.3":"2020-11-26T03:22:59.542Z","2.0.4-beta1":"2020-11-26T05:16:54.558Z","2.0.4-beta2":"2020-11-27T01:34:35.035Z","2.0.4-beta3":"2020-11-27T01:42:07.369Z","2.0.4-beta4":"2020-11-27T01:46:10.957Z","2.0.4-beta5":"2020-11-27T02:02:54.864Z","2.0.4-beta6":"2020-11-27T02:04:22.187Z","2.0.4-beta7":"2020-11-27T02:19:20.850Z","2.0.4-beta8":"2020-11-27T02:22:05.841Z","2.0.4-beta9":"2020-11-27T02:23:46.749Z","2.0.4-beta10":"2020-11-27T02:40:18.262Z","2.0.4-beta11":"2020-11-27T03:13:31.355Z","2.0.4-beta12":"2020-11-27T03:43:24.141Z","2.0.4-beta13":"2020-11-27T03:45:17.888Z","2.0.4-beta14":"2020-11-27T03:50:52.805Z","2.0.4-beta15":"2020-11-27T03:55:33.989Z","2.0.4-beta16":"2020-11-27T03:59:07.688Z","2.0.4-beta17":"2020-11-27T04:01:32.505Z","2.0.4-beta18":"2020-11-27T04:32:30.387Z","2.0.4-beta19":"2020-11-27T04:35:02.417Z","2.0.4-beta20":"2020-11-27T05:02:18.553Z","2.0.4-beta21":"2020-11-27T05:03:53.303Z","2.0.4-beta22":"2020-11-27T05:08:27.621Z","2.0.4-beta23":"2020-11-27T05:20:38.131Z","2.0.4-beta24":"2020-11-27T05:24:08.168Z","2.0.4-beta25":"2020-11-27T05:43:54.661Z","2.0.4-beta26":"2020-11-27T05:45:18.230Z","2.0.4-beta27":"2020-11-27T05:47:11.758Z","2.0.4-beta28":"2020-11-27T05:49:27.171Z","2.0.4-beta29":"2020-11-27T05:51:05.018Z","2.0.4":"2020-11-27T05:56:27.099Z","2.0.5-beta1":"2020-11-27T07:21:28.354Z","2.0.6":"2020-11-27T08:00:20.210Z","2.0.7":"2020-11-27T08:02:29.641Z","2.0.8":"2021-03-01T02:56:02.562Z"},"maintainers":[{"name":"yz1311","email":"yz1311@foxmail.com"}],"description":"可自定义部分样式的taro日历组件","homepage":"https://github.com/zkytech/taro-calendar-customizable#readme","keywords":["calendar","taro","taro-calendar-customizable","customizable"],"repository":{"type":"git","url":"git+https://github.com/zkytech/taro-calendar-customizable.git"},"author":{"name":"zkyTech"},"bugs":{"url":"https://github.com/zkytech/taro-calendar-customizable/issues"},"license":"MIT","readme":"# taro-calendar-customizable\n\n[![NPM version](https://img.shields.io/npm/v/taro-calendar-customizable.svg)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![NPM downloads](https://img.shields.io/npm/dw/taro-calendar-customizable)](https://www.npmjs.com/package/taro-calendar-customizable)\n[![Dependencies](https://david-dm.org/zkytech/taro-calendar-customizable.svg)](https://david-dm.org/zkytech/taro-calendar-customizable)\n[![MIT Licence](https://badges.frapsoft.com/os/mit/mit.svg?v=103)](https://opensource.org/licenses/mit-license.php)\n\n可定制标记样式的 `taro` 日历组件。本组件的初期设计完全参考`taro-ui`中的`calendar`组件。在其之上进行了功能扩充和优化。\n\n> ## 特性\n\n- 可定制样式\n- 支持农历显示\n- 支持周视图\n- 可完全自定义控制器\n- 可指定一周的起点\n\n> ## 安装\n\n`yarn add taro-calendar-customizable`\n\n`npm install taro-calendar-customizable`\n\n> ## 使用\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      extraInfo={[\n        { value: '2019-08-21', text: '生日', color: 'red' },\n        { value: '2019-08-22', text: '休假', color: 'darkblue' },\n        { value: '2019-08-23', text: '会议', color: 'gray' }\n      ]}\n      mode=\"lunar\"\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 样式定制\n\n这里展示了最简单的样式设置方式，[点击查看效果](#样式定制演示)，具体到日期单元格样式的定制可以使用[customStyleGenerator](#样式定制参数)\n\n```typescript jsx\nimport Taro, { FunctionComponent } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\n\nconst Index: FunctionComponent = () => {\n  return (\n    <Calendar\n      marks={[\n        { value: '2019-08-11', color: 'red', markSize: '9px' },\n        { value: '2019-08-12', color: 'pink', markSize: '9px' },\n        { value: '2019-08-13', color: 'gray', markSize: '9px' },\n        { value: '2019-08-14', color: 'yellow', markSize: '9px' },\n        { value: '2019-08-15', color: 'darkblue', markSize: '9px' },\n        { value: '2019-08-16', color: 'pink', markSize: '9px' },\n        { value: '2019-08-17', color: 'green', markSize: '9px' }\n      ]}\n      mode=\"normal\"\n      isMultiSelect\n      selectedDateColor=\"#346fc2\"\n      onDayClick={item => console.log(item)}\n      onDayLongPress={item => console.log(item)}\n      headStyle={{\n        backgroundColor: 'RGBA(12,36,157,0.5)',\n        borderTopLeftRadius: '10px',\n        borderTopRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        width: '90vw',\n        marginLeft: '5vw',\n        zIndex: 2\n      }}\n      bodyStyle={{\n        backgroundColor: 'lightblue',\n        borderBottomLeftRadius: '10px',\n        borderBottomRightRadius: '10px',\n        boxShadow: '0 0 5px RGBA(0,0,0,0.3)',\n        borderTop: 'none',\n        width: '90vw',\n        marginLeft: '5vw'\n      }}\n    />\n  );\n};\n\nexport default Index;\n```\n\n> ### 自定义控制器\n\n这里通过`bindRef`方法获取到了`Calendar`的实例，通过调用内部方法`goNext()`以及`goPrev()`实现了翻页控制。[查看效果](#周视图、自定义控制器演示)\n\n```typescript JSX\nimport Taro, { FunctionComponent, useState } from '@tarojs/taro';\nimport Calendar from 'taro-calendar-customizable';\nimport { View, Button, Text, Switch } from '@tarojs/components';\n\nconst Index: FunctionComponent = () => {\n  const [calendarObj, setCalendarObj] = useState<Calendar>();\n  const [currentView, setCurrentView] = useState('2019-08-18');\n  const [selected, setSelected] = useState('2019-08-18');\n  const [isWeekView, setIsWeekView] = useState(false);\n  const [hideController, setHideController] = useState(false);\n  return (\n    <View>\n      <Calendar\n        view={isWeekView ? 'week' : 'month'}\n        bindRef={ref => {\n          setCalendarObj(ref);\n        }}\n        hideController={hideController}\n        currentView={currentView}\n        onCurrentViewChange={setCurrentView}\n        selectedDate={selected}\n        onDayClick={item => setSelected(item.value)}\n      />\n      <Text style={{ display: 'block', width: '100vw', textAlign: 'center' }}>\n        {currentView.slice(0, 7)}\n      </Text>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goPre() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        上一页\n      </Button>\n      <Button\n        onClick={() => {\n          calendarObj ? calendarObj.goNext() : '';\n        }}\n        style={{ width: '50%', display: 'inline-block' }}\n      >\n        下一页\n      </Button>\n      <Button onClick={() => setCurrentView('2019-08')}>\n        设置view为2019-08\n      </Button>\n      <Button onClick={() => setSelected('2019-08-08')}>选中2019-08-08</Button>\n      <Switch\n        checked={isWeekView}\n        onChange={e => {\n          // @ts-ignore\n          setIsWeekView(e.target.value);\n        }}\n      >\n        周视图\n      </Switch>\n      <Switch\n        checked={hideController}\n        onChange={e => {\n          // @ts-ignore\n          setHideController(e.target.value);\n        }}\n      >\n        隐藏控制器\n      </Switch>\n    </View>\n  );\n};\n\nexport default Index;\n```\n\n#### 自定义标记\n\n![静态](src/preview/静态预览.png)\n\n#### 样式定制演示\n\n![样式定制](src/preview/样式定制.png)\n\n#### 滑动/切换动画演示\n\n![滑动](src/preview/滑动展示.gif)\n\n#### 范围选择演示\n\n![范围选择](src/preview/范围选择.gif)\n\n#### 周视图、自定义控制器演示\n\n![自定义控制器](src/preview/自定义控制器.gif)\n\n> ## 参数说明\n\n| 参数           | 说明                                                                       | 类型                                                             | 默认值           |\n| -------------- | -------------------------------------------------------------------------- | ---------------------------------------------------------------- | ---------------- |\n| mode           | 显示模式，普通或农历                                                       | `\"normal\"`&#124;`\"lunar\"`                                        | `\"normal\"`       |\n| view           | 视图模式                                                                   | `\"week\"`&#124;`\"month\"`                                          | `\"month\"`        |\n| selectedDate   | 当前选中的时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `Date.now()`     |\n| currentView    | 当前视图显示的月份`YYYY-MM`                                                | `string`                                                         | 当前系统时间年月 |\n| minDate        | 最小的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `1970-01-01`     |\n| maxDate        | 最大的可选时间，格式：`YYYY-MM-DD`                                         | `string`                                                         | `null`           |\n| isSwiper       | 是否可以滑动                                                               | `boolean`                                                        | `true`           |\n| isVertical     | 是否垂直滑动                                                               | `boolean`                                                        | `false`          |\n| isMultiSelect  | 是否范围选择                                                               | `boolean`                                                        | `false`          |\n| marks          | 需要标记的时间                                                             | `Array<{value:string,color:string,markSize:string}>`             | `[]`             |\n| extraInfo      | 额外信息                                                                   | `Array<{value:string,text:string,color:string,fontSize:string}>` | `[]`             |\n| hideArrow      | 是否隐藏箭头                                                               | `boolean`                                                        | `false`          |\n| hideController | 是否显示控制器                                                             | `false`                                                          | `boolean`        |\n| showDivider    | 是否显示分割线                                                             | `boolean`                                                        | `false`          |\n| bindRef        | 父组件通过 ref 可以调用内部方法，主要用于实现[自定义控制器](#自定义控制器) | `(ref:Calendar)=>any`                                            | -                |\n\n> ## 事件说明\n\n| 参数                | 说明                                   | 类型                           |\n| ------------------- | -------------------------------------- | ------------------------------ |\n| onClickPre          | 点击左箭头                             | `() => any`                    |\n| onClickNext         | 点击右箭头                             | `() => any`                    |\n| onDayClick          | 点击日期时候触发                       | `(item:{value:string}) => any` |\n| onDayLongPress      | 长按日期时触发(长按事件与点击事件互斥) | `(item:{value:string}) => any` |\n| onCurrentViewChange | 月份/周 改变时触发                     | `(value: string) => any`       |\n| onSelectDate        | 选中日期时候触发                       | `(value: SelectDate) => any`   |\n\n> ## 样式定制参数\n\n| 参数                 | 说明                             | 类型                                                                                       |\n| -------------------- | -------------------------------- | ------------------------------------------------------------------------------------------ |\n| selectedDateColor    | 选中日期的颜色                   | `string`                                                                                   |\n| customStyleGenerator | 单元格样式生成器                 | (dateInfo:[StyleGeneratorParams](#StyleGeneratorParams) ) => [CustomStyles](#CustomStyles) |\n| pickerTextGenerator  | 日期选择器文本的生成器           | `(currentView:Date)=>string`                                                               |\n| headStyle            | head 整体样式                    | `CSSProperties`                                                                            |\n| headCellStyle        | head 单元格样式                  | `CSSProperties`                                                                            |\n| bodyStyle            | body 整体样式                    | `CSSProperties`                                                                            |\n| leftArrowStyle       | 左箭头样式                       | `CSSProperties`                                                                            |\n| rightArrowStyle      | 右箭头样式                       | `CSSProperties`                                                                            |\n| datePickerStyle      | 日期选择器样式                   | `CSSProperties`                                                                            |\n| pickerRowStyle       | 日期选择器&左右箭头 所在容器样式 | `CSSProperties`                                                                            |\n\n进行样式定制时可以参考组件内部结构图：\n\n![结构图](src/preview/样式结构.png)\n\n\n#### <font color=\"red\">重点:</font>\n\n给`customStyleGenerator`赋值的时候不要使用临时对象，否则性能会很差\n\n<font color=\"red\">错误用法:</font>\n```\n<Calendar\n    ...\n    customStyleGenerator={\n        params => {\n            return {\n                containerStyle: {\n\n                }\n            };\n        }\n    }\n/>\n```\n\n<font color=\"red\">正确用法:</font>\n```\n在引用Calendar的组件的外部创建const对象，然后赋值：\n\nconst customStyleGenerator = params => {\n                     return {\n                         containerStyle: {\n         \n                         }\n                     };\n                 };\nexport default class XXXX extends Component {\n    render () {\n        return (\n            ...\n            <Calendar\n                ...\n                customStyleGenerator={customStyleGenerator}\n            />\n        );\n    }\n}\n```\n\n\n\n\n## 类型说明\n\n> ### StyleGeneratorParams\n\n每个单元格包含的所有信息\n\n| 参数         | 说明                                                                            | 类型                                  |\n| ------------ | ------------------------------------------------------------------------------- | ------------------------------------- |\n| date         | 当前月的第几天 1 ~ 31                                                           | `number`                              |\n| currentMonth | 是否是属于当前显示的月份（比如 7 月 31 日不属于 8 月，但是会显示在 8 月这一页） | `boolean`                             |\n| fullDateStr  | 时间 YYYY-MM-DD                                                                 | `string`                              |\n| selected     | 是否被选中                                                                      | `boolean`                             |\n| marked       | 是否标记                                                                        | `boolean`                             |\n| hasExtraInfo | 是否含有额外信息                                                                | `boolean`                             |\n| multiSelect  | 多选模式参数                                                                    | [MultiSelectParam](#MultiSelectParam) |\n| lunar        | 农历信息（仅在农历模式下生效）                                                  | [LunarInfo](#LunarInfo) 或 `null`     |\n| startDay     | 指定周几为一行的起点，0 为周日，1 为周一                                        | `number`                              |\n\n> ### CustomStyles\n\n样式生成器返回结果\n\n| 参数           | 说明           | 类型            |\n| -------------- | -------------- | --------------- |\n| lunarStyle     | 农历样式       | `CSSProperties` |\n| dateStyle      | 日期样式       | `CSSProperties` |\n| markStyle      | 标记样式       | `CSSProperties` |\n| containerStyle | 容器单元格样式 | `CSSProperties` |\n| extraInfoStyle | 额外信息样式   | `CSSProperties` |\n\n> ### MultiSelectParam\n\n多选模式参数\n\n| 参数              | 说明             | 类型      |\n| ----------------- | ---------------- | --------- |\n| multiSelected     | 是否在选择范围内 | `boolean` |\n| multiSelectedStar | 是否是选择起点   | `boolean` |\n| multiSelectedEnd  | 是否是选择终点   | `boolean` |\n\n> ### LunarInfo\n\n农历信息\n\n| 参数     | 说明                     | 类型             |\n| -------- | ------------------------ | ---------------- |\n| Animal   | 生肖                     | `string`         |\n| IDayCn   | 中文 农历 日 (例:'初二') | `string`         |\n| IMonthCn | 中文 农历 月 (例:'八月') | `string`         |\n| Term     | 二十四节气               | `string`或`null` |\n| astro    | 星座                     | `string`         |\n| cDay     | 公历 日                  | `number`         |\n| cMonth   | 公历 月                  | `number`         |\n| cYear    | 公历 年                  | `number`         |\n| gzDay    | 天干地支纪年 日          | `string`         |\n| gzMonth  | 天干地支纪年 月          | `string`         |\n| gzYear   | 天干地支纪年 年          | `string`         |\n| isLeap   | 是否是闰月               | `boolean`        |\n| isTerm   | 是否是节气               | `boolean`        |\n| isToDay  | 是否是今天               | `boolean`        |\n| lDay     | 农历 日                  | `number`         |\n| lMonth   | 农历 月                  | `number`         |\n| lYear    | 农历 年                  | `number`         |\n| nWeek    | 一周的第几天 1~7         | `number`         |\n| ncWeek   | 星期 (例:'星期五)        | `string`         |\n\n> 农历信息的生成使用的是[calendar.js](https://github.com/jjonline/calendar.js)，可直接调用农历信息生成工具\n\n农历生成工具调用\n\n```typescript\nimport { CalendarTools } from 'taro-calendar-customizable';\n\nconst LunarInfo = CalendarTools.solar2lunar('2019-08-17');\n```\n","readmeFilename":"README.md"}