@punch-in/buffet-modern 3.3.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/.stylelintignore +1 -0
  2. package/README.md +50 -0
  3. package/babel.config.js +18 -0
  4. package/build/18ea3062c6e779649b89c301e4d65a7c.ttf +0 -0
  5. package/build/1d2ca94dfba6f8d87cfda33b32f0febc.woff +0 -0
  6. package/build/21b3848a32fce5b0f5014948186f6964.woff2 +0 -0
  7. package/build/6cfa65c63939188f33ef0e3a68d09306.woff +0 -0
  8. package/build/6d20cff5b3255dd0078f935c34e2b882.woff2 +0 -0
  9. package/build/75614cfcfedd509b1f7ac1c26c53bb7f.woff2 +0 -0
  10. package/build/89b618086a797a8be0f4549489bb2993.woff +0 -0
  11. package/build/8acc961684668b6e28e961e26afc2af9.ttf +0 -0
  12. package/build/a6069540692725c247f13984a9598a92.woff2 +0 -0
  13. package/build/bb14dc80e8b5d860fe9cb2362987d630.ttf +0 -0
  14. package/build/bundle.development.js +951 -0
  15. package/build/bundle.production.js +1 -0
  16. package/build/c66465590541129e82d3d6f725c5658b.woff +0 -0
  17. package/build/c7687ac11011d85e040e2ce14d5bf6eb.ttf +0 -0
  18. package/build/esm/assets/fonts/lato/Lato-Black.ttf +0 -0
  19. package/build/esm/assets/fonts/lato/Lato-Black.woff +0 -0
  20. package/build/esm/assets/fonts/lato/Lato-Black.woff2 +0 -0
  21. package/build/esm/assets/fonts/lato/Lato-Bold.ttf +0 -0
  22. package/build/esm/assets/fonts/lato/Lato-Bold.woff +0 -0
  23. package/build/esm/assets/fonts/lato/Lato-Bold.woff2 +0 -0
  24. package/build/esm/assets/fonts/lato/Lato-Regular.ttf +0 -0
  25. package/build/esm/assets/fonts/lato/Lato-Regular.woff +0 -0
  26. package/build/esm/assets/fonts/lato/Lato-Regular.woff2 +0 -0
  27. package/build/esm/assets/fonts/lato/Lato-SemiBold.ttf +0 -0
  28. package/build/esm/assets/fonts/lato/Lato-SemiBold.woff +0 -0
  29. package/build/esm/assets/fonts/lato/Lato-SemiBold.woff2 +0 -0
  30. package/build/esm/assets/icons/icon_select.svg +1 -0
  31. package/build/esm/assets/icons/icon_trash.svg +1 -0
  32. package/build/esm/assets/styles/colors.js +84 -0
  33. package/build/esm/assets/styles/mixins.js +28 -0
  34. package/build/esm/assets/styles/sizes.js +77 -0
  35. package/build/esm/components/Button/PrefixIcon.js +7 -0
  36. package/build/esm/components/Button/index.js +34 -0
  37. package/build/esm/components/Card/index.js +23 -0
  38. package/build/esm/components/Checkbox/index.js +25 -0
  39. package/build/esm/components/CheckboxWrapper/index.js +36 -0
  40. package/build/esm/components/CustomRow/index.js +12 -0
  41. package/build/esm/components/DatePicker/index.js +24 -0
  42. package/build/esm/components/Description/index.js +12 -0
  43. package/build/esm/components/Enumeration/index.js +25 -0
  44. package/build/esm/components/EnumerationWrapper/index.js +13 -0
  45. package/build/esm/components/ErrorMessage/index.js +13 -0
  46. package/build/esm/components/Fonts/index.js +31 -0
  47. package/build/esm/components/GlobalStyle/index.js +7 -0
  48. package/build/esm/components/Header/index.js +13 -0
  49. package/build/esm/components/HeaderActions/index.js +12 -0
  50. package/build/esm/components/HeaderTitle/index.js +13 -0
  51. package/build/esm/components/Icon/index.js +16 -0
  52. package/build/esm/components/IconText/index.js +9 -0
  53. package/build/esm/components/IconWrapper/index.js +16 -0
  54. package/build/esm/components/InputNumber/index.js +14 -0
  55. package/build/esm/components/InputText/index.js +24 -0
  56. package/build/esm/components/InputWrapper/index.js +13 -0
  57. package/build/esm/components/Label/index.js +13 -0
  58. package/build/esm/components/Links/index.js +13 -0
  59. package/build/esm/components/List/index.js +13 -0
  60. package/build/esm/components/ListHeader/index.js +11 -0
  61. package/build/esm/components/ListRow/index.js +11 -0
  62. package/build/esm/components/ListSubtitle/index.js +12 -0
  63. package/build/esm/components/ListTitle/index.js +13 -0
  64. package/build/esm/components/LoadingBar/index.js +14 -0
  65. package/build/esm/components/LoadingIndicator/index.js +69 -0
  66. package/build/esm/components/Option/index.js +37 -0
  67. package/build/esm/components/Paging/index.js +13 -0
  68. package/build/esm/components/Select/index.js +14 -0
  69. package/build/esm/components/Tab/index.js +30 -0
  70. package/build/esm/components/Table/index.js +13 -0
  71. package/build/esm/components/TableRowEmpty/index.js +13 -0
  72. package/build/esm/components/Textarea/index.js +13 -0
  73. package/build/esm/components/TimeList/index.js +13 -0
  74. package/build/esm/components/TimePicker/index.js +20 -0
  75. package/build/esm/components/TimePickerWrapper/index.js +13 -0
  76. package/build/esm/components/Toggle/index.js +25 -0
  77. package/build/esm/components/ToggleWrapper/index.js +13 -0
  78. package/build/esm/components/Tooltip/index.js +28 -0
  79. package/build/esm/index.js +46 -0
  80. package/build/index.js +8 -0
  81. package/package.json +113 -0
  82. package/src/assets/fonts/lato/Lato-Black.ttf +0 -0
  83. package/src/assets/fonts/lato/Lato-Black.woff +0 -0
  84. package/src/assets/fonts/lato/Lato-Black.woff2 +0 -0
  85. package/src/assets/fonts/lato/Lato-Bold.ttf +0 -0
  86. package/src/assets/fonts/lato/Lato-Bold.woff +0 -0
  87. package/src/assets/fonts/lato/Lato-Bold.woff2 +0 -0
  88. package/src/assets/fonts/lato/Lato-Regular.ttf +0 -0
  89. package/src/assets/fonts/lato/Lato-Regular.woff +0 -0
  90. package/src/assets/fonts/lato/Lato-Regular.woff2 +0 -0
  91. package/src/assets/fonts/lato/Lato-SemiBold.ttf +0 -0
  92. package/src/assets/fonts/lato/Lato-SemiBold.woff +0 -0
  93. package/src/assets/fonts/lato/Lato-SemiBold.woff2 +0 -0
  94. package/src/assets/icons/icon_select.svg +1 -0
  95. package/src/assets/icons/icon_trash.svg +1 -0
  96. package/src/assets/styles/colors.js +92 -0
  97. package/src/assets/styles/mixins.js +45 -0
  98. package/src/assets/styles/sizes.js +87 -0
  99. package/src/components/Button/PrefixIcon.js +11 -0
  100. package/src/components/Button/index.js +122 -0
  101. package/src/components/Button/tests/__snapshots__/index.test.js.snap +169 -0
  102. package/src/components/Button/tests/index.test.js +91 -0
  103. package/src/components/Card/index.js +73 -0
  104. package/src/components/Checkbox/index.js +141 -0
  105. package/src/components/Checkbox/tests/Checkbox.test.js +19 -0
  106. package/src/components/Checkbox/tests/__snapshots__/Checkbox.test.js.snap +71 -0
  107. package/src/components/CheckboxWrapper/index.js +100 -0
  108. package/src/components/CustomRow/index.js +21 -0
  109. package/src/components/DatePicker/index.js +280 -0
  110. package/src/components/DatePicker/tests/Datepicker.test.js +12 -0
  111. package/src/components/Description/index.js +17 -0
  112. package/src/components/Enumeration/index.js +40 -0
  113. package/src/components/Enumeration/tests/Enumeration.test.js +12 -0
  114. package/src/components/EnumerationWrapper/index.js +47 -0
  115. package/src/components/ErrorMessage/index.js +18 -0
  116. package/src/components/Fonts/index.js +83 -0
  117. package/src/components/GlobalStyle/index.js +68 -0
  118. package/src/components/Header/index.js +73 -0
  119. package/src/components/Header/tests/__snapshots__/index.test.js.snap +75 -0
  120. package/src/components/Header/tests/index.test.js +18 -0
  121. package/src/components/HeaderActions/index.js +30 -0
  122. package/src/components/HeaderActions/tests/__snapshots__/index.test.js.snap +34 -0
  123. package/src/components/HeaderActions/tests/index.test.js +19 -0
  124. package/src/components/HeaderTitle/index.js +47 -0
  125. package/src/components/HeaderTitle/tests/__snapshots__/index.test.js.snap +39 -0
  126. package/src/components/HeaderTitle/tests/index.test.js +19 -0
  127. package/src/components/Icon/index.js +17 -0
  128. package/src/components/IconText/index.js +18 -0
  129. package/src/components/IconWrapper/index.js +29 -0
  130. package/src/components/InputNumber/index.js +209 -0
  131. package/src/components/InputNumber/tests/index.test.js +12 -0
  132. package/src/components/InputText/index.js +70 -0
  133. package/src/components/InputText/tests/index.test.js +39 -0
  134. package/src/components/InputWrapper/index.js +57 -0
  135. package/src/components/Label/index.js +18 -0
  136. package/src/components/Label/tests/index.test.js +12 -0
  137. package/src/components/Links/index.js +35 -0
  138. package/src/components/List/index.js +85 -0
  139. package/src/components/ListHeader/index.js +13 -0
  140. package/src/components/ListHeader/tests/index.test.js +12 -0
  141. package/src/components/ListRow/index.js +17 -0
  142. package/src/components/ListRow/tests/index.test.js +12 -0
  143. package/src/components/ListSubtitle/index.js +17 -0
  144. package/src/components/ListSubtitle/tests/index.test.js +12 -0
  145. package/src/components/ListTitle/index.js +20 -0
  146. package/src/components/ListTitle/tests/index.test.js +12 -0
  147. package/src/components/LoadingBar/index.js +41 -0
  148. package/src/components/LoadingBar/tests/index.test.js +19 -0
  149. package/src/components/LoadingIndicator/index.js +81 -0
  150. package/src/components/Option/index.js +39 -0
  151. package/src/components/Option/tests/__snapshots__/index.test.js.snap +29 -0
  152. package/src/components/Option/tests/index.test.js +16 -0
  153. package/src/components/Paging/index.js +68 -0
  154. package/src/components/Select/index.js +54 -0
  155. package/src/components/Select/tests/index.test.js +12 -0
  156. package/src/components/Tab/index.js +78 -0
  157. package/src/components/Table/index.js +147 -0
  158. package/src/components/TableRowEmpty/index.js +28 -0
  159. package/src/components/Textarea/index.js +50 -0
  160. package/src/components/Textarea/tests/__snapshots__/index.test.js.snap +71 -0
  161. package/src/components/Textarea/tests/index.test.js +33 -0
  162. package/src/components/TimeList/index.js +78 -0
  163. package/src/components/TimePicker/index.js +59 -0
  164. package/src/components/TimePickerWrapper/index.js +57 -0
  165. package/src/components/Toggle/index.js +82 -0
  166. package/src/components/Toggle/tests/index.test.js +12 -0
  167. package/src/components/ToggleWrapper/index.js +36 -0
  168. package/src/components/Tooltip/index.js +34 -0
  169. package/src/index.js +47 -0
  170. package/webfonts/Lato-Black.ttf +0 -0
  171. package/webfonts/Lato-Black.woff +0 -0
  172. package/webfonts/Lato-Black.woff2 +0 -0
  173. package/webfonts/Lato-Bold.ttf +0 -0
  174. package/webfonts/Lato-Bold.woff +0 -0
  175. package/webfonts/Lato-Bold.woff2 +0 -0
  176. package/webfonts/Lato-Regular.ttf +0 -0
  177. package/webfonts/Lato-Regular.woff +0 -0
  178. package/webfonts/Lato-Regular.woff2 +0 -0
  179. package/webfonts/Lato-SemiBold.ttf +0 -0
  180. package/webfonts/Lato-SemiBold.woff +0 -0
  181. package/webfonts/Lato-SemiBold.woff2 +0 -0
@@ -0,0 +1,13 @@
1
+ var _templateObject;
2
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
3
+ /**
4
+ *
5
+ * TimeList
6
+ *
7
+ */
8
+
9
+ import styled from 'styled-components';
10
+ import colors from '../../assets/styles/colors';
11
+ import sizes from '../../assets/styles/sizes';
12
+ var TimeList = styled.ul(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n height: 0;\n font-family: 'Lato', -apple-system, BlinkMacSystemFont, sans-serif;\n font-weight: ", ";\n font-size: ", ";\n color: ", ";\n border: 1px solid transparent;\n border-bottom-left-radius: ", ";\n border-bottom-right-radius: ", ";\n list-style: none;\n padding: 0;\n margin: 0;\n overflow-x: hidden;\n overflow-y: scroll;\n transition: height 0.2s ease-out, visibility 0.2s ease-out,\n border-color 0.2s ease-out;\n visibility: hidden;\n\n ::-webkit-scrollbar {\n width: 0;\n }\n overflow: -moz-scrollbars-none;\n -ms-overflow-style: none;\n scrollbar-width: none;\n\n &.displayed {\n height: ", ";\n visibility: visible;\n border-color: ", ";\n }\n\n li {\n position: relative;\n\n input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n margin: 0;\n opacity: 0;\n z-index: 1;\n cursor: pointer;\n\n &:checked + label,\n &:hover + label {\n background-color: ", ";\n }\n }\n\n label {\n display: block;\n position: relative;\n z-index: 0;\n width: 100%;\n height: 100%;\n padding: ", "px 0 ", "px\n calc(", " + ", ");\n font-size: 1.3rem;\n line-height: 30px;\n margin-bottom: 0;\n }\n }\n"])), sizes.fontWeight.bold, sizes.input.fontSize, colors.greyIconColor, sizes.borderRadiusSm, sizes.borderRadiusSm, sizes.timepicker.list.height, colors.lightGrey, colors.greyIconBkgd, sizes.margin * 0.4, sizes.margin * 0.2, sizes.input.height, sizes.input.padding);
13
+ export default TimeList;
@@ -0,0 +1,20 @@
1
+ var _templateObject;
2
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
3
+ /**
4
+ *
5
+ * TimePicker
6
+ *
7
+ */
8
+
9
+ import styled from 'styled-components';
10
+ import PropTypes from 'prop-types';
11
+ import colors from '../../assets/styles/colors';
12
+ import sizes from '../../assets/styles/sizes';
13
+ var TimePicker = styled.input(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: 100%;\n height: ", ";\n padding: 0 ", ";\n padding-left: calc(", " + ", ");\n font-family: 'Lato', -apple-system, BlinkMacSystemFont, sans-serif;\n font-weight: ", ";\n font-size: ", ";\n cursor: pointer;\n outline: 0;\n border: 1px solid ", ";\n border-radius: ", ";\n color: ", ";\n background-color: transparent;\n transition: border-color 0.2s ease, box-shadow 0.2s ease;\n\n &::placeholder {\n color: ", ";\n }\n\n &::-webkit-input-placeholder {\n color: ", ";\n }\n\n &:focus {\n border-color: ", ";\n box-shadow: 0 0 0 3px ", ";\n }\n\n &:focus-visible {\n outline: none;\n }\n\n &:disabled {\n cursor: not-allowed;\n color: ", ";\n }\n"])), sizes.input.height, sizes.input.padding, sizes.input.height, sizes.input.padding, sizes.fontWeight.regular, sizes.input.fontSize, colors.lightGrey, sizes.borderRadius, colors.blueTxt, colors.greyPlaceholder, colors.greyPlaceholder, colors.blueBorder, colors.blueFocusRing, colors.brightGrey);
14
+ TimePicker.defaultProps = {
15
+ type: 'text'
16
+ };
17
+ TimePicker.propTypes = {
18
+ type: PropTypes.string
19
+ };
20
+ export default TimePicker;
@@ -0,0 +1,13 @@
1
+ var _templateObject;
2
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
3
+ /**
4
+ *
5
+ * TimePickerWrapper
6
+ *
7
+ */
8
+
9
+ import styled from 'styled-components';
10
+ import colors from '../../assets/styles/colors';
11
+ import sizes from '../../assets/styles/sizes';
12
+ var TimePickerWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n max-width: 95px;\n position: relative;\n background-color: ", ";\n border-radius: ", ";\n\n span {\n z-index: 0;\n border-top-left-radius: ", ";\n border-bottom-left-radius: ", ";\n }\n\n input {\n position: relative;\n z-index: 1;\n\n &:focus + span {\n background-color: ", ";\n\n &:before {\n color: ", ";\n }\n }\n\n &:focus {\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n }\n }\n\n ul {\n position: absolute;\n background-color: transparent;\n border-top: 1px solid transparent;\n top: calc(", " - ", "px);\n left: 0;\n z-index: 99;\n pointer-events: all;\n\n &.displayed {\n background-color: ", ";\n border-top: 1px solid ", ";\n }\n }\n"])), colors.white, sizes.borderRadius, sizes.borderRadius, sizes.borderRadius, colors.blueIconBkgd, colors.blueIconTxt, sizes.input.height, sizes.margin * 0.1, colors.white, colors.blueBorder);
13
+ export default TimePickerWrapper;
@@ -0,0 +1,25 @@
1
+ var _templateObject;
2
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
3
+ /**
4
+ *
5
+ * Toggle
6
+ *
7
+ */
8
+
9
+ import styled from 'styled-components';
10
+ import PropTypes from 'prop-types';
11
+ import colors from '../../assets/styles/colors';
12
+ import sizes from '../../assets/styles/sizes';
13
+ var Toggle = styled.input(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n cursor: ", ";\n margin: 0;\n opacity: 0;\n\n & + span {\n border-top-left-radius: ", ";\n border-bottom-left-radius: ", ";\n color: ", ";\n background: ", ";\n font-weight: ", ";\n transition: background-color 0.2s ease, color 0.2s ease;\n\n & + span {\n border-top-right-radius: ", ";\n border-bottom-right-radius: ", ";\n color: ", ";\n background: ", ";\n font-weight: ", ";\n transition: background-color 0.2s ease, color 0.2s ease;\n }\n }\n\n &:not(:checked):not(:indeterminate) + span {\n background-color: ", ";\n color: ", ";\n font-weight: ", ";\n }\n\n &:checked + span {\n & + span {\n background-color: ", ";\n color: ", ";\n font-weight: ", ";\n }\n }\n\n &:disabled {\n &:not(:checked):not(:indeterminate) + span {\n background-color: ", ";\n color: ", ";\n box-shadow: inset -1px 1px 3px rgba(0, 0, 0, 0.08);\n }\n\n &:checked + span {\n & + span {\n background-color: ", ";\n color: ", ";\n box-shadow: inset 1px 1px 3px rgba(0, 0, 0, 0.08);\n }\n }\n }\n"])), function (_ref) {
14
+ var disabled = _ref.disabled;
15
+ return disabled ? 'not-allowed' : 'pointer';
16
+ }, sizes.borderRadiusSm, sizes.borderRadiusSm, colors.greyToggle, colors.white, sizes.fontWeight.bold, sizes.borderRadiusSm, sizes.borderRadiusSm, colors.greyToggle, colors.white, sizes.fontWeight.bold, colors.darkOrange, colors.white, sizes.fontWeight.black, colors.blue, colors.white, sizes.fontWeight.black, colors.greyIconBkgd, colors.brightGrey, colors.greyIconBkgd, colors.brightGrey);
17
+ Toggle.defaultProps = {
18
+ disabled: false,
19
+ type: 'checkbox'
20
+ };
21
+ Toggle.propTypes = {
22
+ disabled: PropTypes.bool,
23
+ type: PropTypes.string
24
+ };
25
+ export default Toggle;
@@ -0,0 +1,13 @@
1
+ var _templateObject;
2
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
3
+ /**
4
+ *
5
+ * ToggleWrapper
6
+ *
7
+ */
8
+
9
+ import styled from 'styled-components';
10
+ import colors from '../../assets/styles/colors';
11
+ import sizes from '../../assets/styles/sizes';
12
+ var ToggleWrapper = styled.div(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n width: fit-content;\n height: 34px;\n border: 1px solid ", ";\n border-radius: ", ";\n\n label {\n display: inline-block;\n width: fit-content;\n height: 100%;\n position: relative;\n text-align: center;\n color: ", ";\n }\n\n span {\n display: inline-block;\n width: 53px;\n height: 100%;\n line-height: 32px;\n letter-spacing: 0.1rem;\n }\n"])), colors.lightGrey, sizes.borderRadiusSm, colors.blueTxt);
13
+ export default ToggleWrapper;
@@ -0,0 +1,28 @@
1
+ var _templateObject;
2
+ function _taggedTemplateLiteral(e, t) { return t || (t = e.slice(0)), Object.freeze(Object.defineProperties(e, { raw: { value: Object.freeze(t) } })); }
3
+ /* stylelint-disable declaration-no-important */
4
+ import PropTypes from 'prop-types';
5
+ import styled from 'styled-components';
6
+ import ReactTooltip from 'react-tooltip';
7
+ import colors from '../../assets/styles/colors';
8
+ import sizes from '../../assets/styles/sizes';
9
+ var Tooltip = styled(ReactTooltip).attrs(function (_ref) {
10
+ var place = _ref.place,
11
+ delayShow = _ref.delayShow;
12
+ return {
13
+ effect: 'solid',
14
+ place: place,
15
+ delayShow: delayShow,
16
+ arrowColor: 'transparent',
17
+ backgroundColor: colors.blueTxt
18
+ };
19
+ })(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n padding: 0.5rem 0.75rem !important;\n opacity: 1 !important;\n border-radius: ", " !important;\n max-width: 400px;\n max-height: 400px;\n overflow: hidden;\n text-overflow: ellipsis;\n"])), sizes.borderRadius);
20
+ Tooltip.defaultProps = {
21
+ delayShow: 500,
22
+ place: 'bottom'
23
+ };
24
+ Tooltip.propTypes = {
25
+ delayShow: PropTypes.number,
26
+ place: PropTypes.string
27
+ };
28
+ export default Tooltip;
@@ -0,0 +1,46 @@
1
+ export { default as Button } from './components/Button';
2
+ export { default as Card } from './components/Card';
3
+ export { default as Checkbox } from './components/Checkbox';
4
+ export { default as CheckboxWrapper } from './components/CheckboxWrapper';
5
+ export { default as CustomRow } from './components/CustomRow';
6
+ export { default as DatePicker } from './components/DatePicker';
7
+ export { default as Description } from './components/Description';
8
+ export { default as Enumeration } from './components/Enumeration';
9
+ export { default as EnumerationWrapper } from './components/EnumerationWrapper';
10
+ export { default as ErrorMessage } from './components/ErrorMessage';
11
+ export { default as Fonts } from './components/Fonts';
12
+ export { default as GlobalStyle } from './components/GlobalStyle';
13
+ export { default as Icon } from './components/Icon';
14
+ export { default as IconText } from './components/IconText';
15
+ export { default as IconWrapper } from './components/IconWrapper';
16
+ export { default as InputNumber } from './components/InputNumber';
17
+ export { default as InputText } from './components/InputText';
18
+ export { default as InputWrapper } from './components/InputWrapper';
19
+ export { default as Header } from './components/Header';
20
+ export { default as HeaderActions } from './components/HeaderActions';
21
+ export { default as HeaderTitle } from './components/HeaderTitle';
22
+ export { default as Label } from './components/Label';
23
+ export { default as Links } from './components/Links';
24
+ export { default as List } from './components/List';
25
+ export { default as ListHeader } from './components/ListHeader';
26
+ export { default as ListRow } from './components/ListRow';
27
+ export { default as ListSubtitle } from './components/ListSubtitle';
28
+ export { default as ListTitle } from './components/ListTitle';
29
+ export { default as LoadingBar } from './components/LoadingBar';
30
+ export { default as LoadingIndicator } from './components/LoadingIndicator';
31
+ export { default as Option } from './components/Option';
32
+ export { default as Paging } from './components/Paging';
33
+ export { default as Select } from './components/Select';
34
+ export { default as Tab } from './components/Tab';
35
+ export { default as Table } from './components/Table';
36
+ export { default as TableRowEmpty } from './components/TableRowEmpty';
37
+ export { default as Textarea } from './components/Textarea';
38
+ export { default as TimeList } from './components/TimeList';
39
+ export { default as TimePicker } from './components/TimePicker';
40
+ export { default as TimePickerWrapper } from './components/TimePickerWrapper';
41
+ export { default as Toggle } from './components/Toggle';
42
+ export { default as ToggleWrapper } from './components/ToggleWrapper';
43
+ export { default as Tooltip } from './components/Tooltip';
44
+ export { default as colors } from './assets/styles/colors';
45
+ export { default as mixins } from './assets/styles/mixins';
46
+ export { default as sizes } from './assets/styles/sizes';
package/build/index.js ADDED
@@ -0,0 +1,8 @@
1
+
2
+ 'use strict';
3
+
4
+ if (process.env.NODE_ENV === "production") {
5
+ module.exports = require("./bundle.production.js");
6
+ } else {
7
+ module.exports = require("./bundle.development.js");
8
+ }
package/package.json ADDED
@@ -0,0 +1,113 @@
1
+ {
2
+ "name": "@punch-in/buffet-modern",
3
+ "version": "3.3.11",
4
+ "description": "Buffetjs Styles - The styling solution of Buffetjs",
5
+ "main": "build",
6
+ "module": "build/esm/index.js",
7
+ "sideEffects": [
8
+ "*.css"
9
+ ],
10
+ "scripts": {
11
+ "prebuild": "rimraf build",
12
+ "build": "npm run build:development && npm run build:production && npm run build:esm && npm run create:index",
13
+ "build:analyze": "cross-env NODE_ENV=production webpack-cli --json > build/stats.production.json && webpack-bundle-analyzer build/stats.production.json",
14
+ "build:development": "cross-env NODE_ENV=development webpack-cli",
15
+ "build:esm": "cross-env BABEL_ENV=esm babel ./src --out-dir ./build/esm --ignore \"**/*.test.js\" --ignore \"**/test.js\" && node ./deployAssets.js",
16
+ "build:production": "cross-env NODE_ENV=production webpack-cli",
17
+ "build:watch": "npm run create:index && cross-env NODE_ENV=development webpack-cli -w",
18
+ "build:watch:esm": "node ./deployAssets.js && cross-env BABEL_ENV=esm babel ./src --out-dir ./build/esm --ignore \"**/*.test.js\" --ignore \"**/test.js\" --watch",
19
+ "create:index": "node ./createBuildIndex.js",
20
+ "test": "npm run test:lint && npm run test:style && npm run test:jest",
21
+ "test:jest": "jest --runInBand --no-cache --config=jest.config.js",
22
+ "test:jest:update": "jest --runInBand --no-cache --config=jest.config.js -u",
23
+ "test:lint": "eslint .",
24
+ "test:lint:quiet": "eslint . --quiet",
25
+ "test:style": "stylelint src/components/**/*.js",
26
+ "test:style:quiet": "stylelint src/components/**/*.js --quiet",
27
+ "test:prettier": "echo \"Error: no test specified\" && exit 1",
28
+ "coverage:unit": "jest --coverage",
29
+ "lint:fix": "eslint . --fix",
30
+ "prepublishOnly": "npm run build"
31
+ },
32
+ "keywords": [
33
+ "styled-components",
34
+ "buffetjs",
35
+ "react",
36
+ "styles"
37
+ ],
38
+ "dependencies": {
39
+ "@fortawesome/fontawesome-free": "^5.12.0",
40
+ "@fortawesome/fontawesome-svg-core": "^1.2.22",
41
+ "@fortawesome/free-regular-svg-icons": "^5.10.2",
42
+ "@fortawesome/free-solid-svg-icons": "^5.10.2",
43
+ "@fortawesome/react-fontawesome": "^0.1.4",
44
+ "prop-types": "^15.7.2",
45
+ "react-dates": "^21.1.0",
46
+ "react-tooltip": "^4.2.11"
47
+ },
48
+ "devDependencies": {
49
+ "@babel/cli": "^7.1.5",
50
+ "@babel/core": "^7.1.6",
51
+ "@babel/plugin-proposal-class-properties": "^7.1.0",
52
+ "@babel/plugin-proposal-export-default-from": "^7.0.0",
53
+ "@babel/plugin-proposal-export-namespace-from": "^7.0.0",
54
+ "@babel/plugin-proposal-function-bind": "^7.0.0",
55
+ "@babel/plugin-transform-flow-strip-types": "^7.1.6",
56
+ "@babel/polyfill": "^7.0.0",
57
+ "@babel/preset-env": "^7.1.6",
58
+ "@babel/preset-flow": "^7.0.0",
59
+ "@babel/preset-react": "^7.0.0",
60
+ "@testing-library/jest-dom": "^5.1.1",
61
+ "@testing-library/react": "^9.4.0",
62
+ "@testing-library/react-hooks": "^3.2.1",
63
+ "babel-eslint": "^10.0.1",
64
+ "babel-jest": "^23.6.0",
65
+ "babel-loader": "^8.0.4",
66
+ "babel-plugin-module-resolver": "3.0.0",
67
+ "bundlesize": "^0.17.0",
68
+ "cross-env": "^5.1.4",
69
+ "enzyme": "^3.10.0",
70
+ "enzyme-adapter-react-16": "^1.15.2",
71
+ "enzyme-to-json": "^3.5.0",
72
+ "eslint": "^7.5.0",
73
+ "eslint-config-airbnb": "^18.2.0",
74
+ "eslint-config-prettier": "^6.11.0",
75
+ "eslint-import-resolver-lerna": "^1.1.0",
76
+ "eslint-import-resolver-webpack": "^0.12.2",
77
+ "eslint-plugin-import": "^2.22.0",
78
+ "eslint-plugin-jest": "^23.19.0",
79
+ "eslint-plugin-jsx-a11y": "^6.3.1",
80
+ "eslint-plugin-react": "^7.20.5",
81
+ "file-loader": "^6.0.0",
82
+ "fs-extra": "^9.0.1",
83
+ "jest": "^26.1.0",
84
+ "jest-styled-components": "^7.0.2",
85
+ "mini-css-extract-plugin": "^0.4.0",
86
+ "react-test-renderer": "^16.13.1",
87
+ "rimraf": "^3.0.2",
88
+ "stylelint": "^13.6.1",
89
+ "stylelint-config-prettier": "^8.0.2",
90
+ "stylelint-config-rational-order": "^0.1.2",
91
+ "stylelint-config-standard": "^20.0.0",
92
+ "stylelint-config-styled-components": "^0.1.1",
93
+ "stylelint-processor-styled-components": "^1.10.0",
94
+ "url-loader": "^1.0.1",
95
+ "webpack": "~4.44.0",
96
+ "webpack-bundle-analyzer": "^3.8.0",
97
+ "webpack-cli": "~3.3.12"
98
+ },
99
+ "peerDependencies": {
100
+ "react": "^16.9.0",
101
+ "styled-components": "^5.0.0"
102
+ },
103
+ "author": "Strapi Team",
104
+ "license": "MIT",
105
+ "publishConfig": {
106
+ "access": "public"
107
+ },
108
+ "repository": {
109
+ "type": "git",
110
+ "url": "https://github.com/strapi/buffet"
111
+ },
112
+ "gitHead": "63c6c13e0fd7feed8e0ea89f751b68b02ef767ea"
113
+ }
@@ -0,0 +1 @@
1
+ <svg width="23" height="32" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><path d="M.018 0h20a2 2 0 0 1 2 2v28a2 2 0 0 1-2 2h-20V0z" fill="#FAFAFB"/><g fill-rule="nonzero" fill="#B3B5B9"><path d="M14.018 18.375a.36.36 0 0 1-.112.264l-2.625 2.625a.36.36 0 0 1-.263.111.36.36 0 0 1-.264-.111l-2.625-2.625a.36.36 0 0 1-.111-.264.36.36 0 0 1 .111-.264.36.36 0 0 1 .264-.111h5.25a.36.36 0 0 1 .263.111.36.36 0 0 1 .112.264zM8.018 15a.36.36 0 0 1 .111-.264l2.625-2.625a.36.36 0 0 1 .264-.111.36.36 0 0 1 .263.111l2.625 2.625a.36.36 0 0 1 .112.264.36.36 0 0 1-.112.264.36.36 0 0 1-.263.111h-5.25a.36.36 0 0 1-.264-.111.36.36 0 0 1-.111-.264z"/></g></g></svg>
@@ -0,0 +1 @@
1
+ <svg width="11" height="12" xmlns="http://www.w3.org/2000/svg"><path d="M4 9.75v-5.5a.243.243 0 0 0-.07-.18.243.243 0 0 0-.18-.07h-.5a.243.243 0 0 0-.18.07.243.243 0 0 0-.07.18v5.5c0 .073.023.133.07.18.047.047.107.07.18.07h.5a.243.243 0 0 0 .18-.07.243.243 0 0 0 .07-.18zm2 0v-5.5a.243.243 0 0 0-.07-.18.243.243 0 0 0-.18-.07h-.5a.243.243 0 0 0-.18.07.243.243 0 0 0-.07.18v5.5c0 .073.023.133.07.18.047.047.107.07.18.07h.5a.243.243 0 0 0 .18-.07.243.243 0 0 0 .07-.18zm2 0v-5.5a.243.243 0 0 0-.07-.18.243.243 0 0 0-.18-.07h-.5a.243.243 0 0 0-.18.07.243.243 0 0 0-.07.18v5.5c0 .073.023.133.07.18.047.047.107.07.18.07h.5a.243.243 0 0 0 .18-.07.243.243 0 0 0 .07-.18zM3.75 2h3.5l-.375-.914A.22.22 0 0 0 6.742 1H4.266a.22.22 0 0 0-.133.086L3.75 2zm7.25.25v.5a.243.243 0 0 1-.07.18.243.243 0 0 1-.18.07H10v7.406c0 .433-.122.806-.367 1.121-.245.315-.54.473-.883.473h-6.5c-.344 0-.638-.152-.883-.457C1.122 11.238 1 10.87 1 10.438V3H.25a.243.243 0 0 1-.18-.07.243.243 0 0 1-.07-.18v-.5c0-.073.023-.133.07-.18A.243.243 0 0 1 .25 2h2.414L3.211.695c.078-.192.219-.356.422-.492C3.836.068 4.042 0 4.25 0h2.5c.208 0 .414.068.617.203.203.136.344.3.422.492L8.336 2h2.414c.073 0 .133.023.18.07.047.047.07.107.07.18z" fill="#F23508" fill-rule="nonzero"/></svg>
@@ -0,0 +1,92 @@
1
+ /**
2
+ * Modern design token palette
3
+ * WCAG AA compliant contrast ratios where applicable
4
+ */
5
+ const colors = {
6
+ // Primary palette
7
+ blue: '#007EFF',
8
+ darkBlue: '#1C5DE7',
9
+ mediumBlue: '#005EEA',
10
+ lightBlue: '#0097F6',
11
+ blueTxt: '#32324D',
12
+ blueGradient: 'linear-gradient(135deg, #306ded 0%, #4598f7 100%)',
13
+ orangeGradient: 'linear-gradient(135deg, #F65A1D 0%, #F68E0E 100%)',
14
+
15
+ // Neutrals
16
+ brightGrey: '#8E8EA9',
17
+ lightGrey: '#DCDCE4',
18
+ lightGreyAlpha: 'rgba(0, 0, 0, 0.08)',
19
+ black: '#000000',
20
+ white: '#ffffff',
21
+
22
+ // Semantic colors
23
+ orange: '#F64D0A',
24
+ darkOrange: '#E54B09',
25
+ orangeBorder: 'rgba(246, 77, 10, 0.25)',
26
+ orangeBkgd: 'rgba(246, 77, 10, 0.12)',
27
+ green: '#328048',
28
+
29
+ // Input-specific
30
+ greyPlaceholder: '#8E8EA9',
31
+ greyIconBkgd: '#F6F6F9',
32
+ greyIconColor: '#A5A5BA',
33
+ blueBorder: '#0C75AF',
34
+ blueFocusRing: 'rgba(0, 126, 255, 0.25)',
35
+ greyToggle: '#C0C0CF',
36
+
37
+ // Table
38
+ greyHeader: '#F6F6F9',
39
+ greySubtitle: '#6B6B7B',
40
+ greyHover: '#FAFAFC',
41
+ greySeparator: '#EAEAEF',
42
+
43
+ // Timepicker
44
+ blueIconTxt: '#0C75AF',
45
+ blueIconBkgd: '#E8F4FC',
46
+
47
+ // Tabs
48
+ greyTabBkgd: '#F0F0F5',
49
+ blueTabBorder: '#1C5DE7',
50
+ greyLink: '#F6F6F9',
51
+
52
+ // Button variants
53
+ button: {
54
+ primary: {
55
+ borderColor: '#007EFF',
56
+ color: '#ffffff',
57
+ backgroundColor: '#007EFF',
58
+ hoverBg: '#0066D6',
59
+ },
60
+ secondary: {
61
+ borderColor: '#007EFF',
62
+ color: '#007EFF',
63
+ backgroundColor: '#ffffff',
64
+ hoverBg: '#F0F7FF',
65
+ },
66
+ cancel: {
67
+ borderColor: '#8E8EA9',
68
+ color: '#6B6B7B',
69
+ backgroundColor: 'transparent',
70
+ hoverBg: 'rgba(142, 142, 169, 0.08)',
71
+ },
72
+ delete: {
73
+ borderColor: '#F64D0A',
74
+ color: '#ffffff',
75
+ backgroundColor: '#F64D0A',
76
+ hoverBg: '#E54B09',
77
+ },
78
+ success: {
79
+ borderColor: '#328048',
80
+ color: '#ffffff',
81
+ backgroundColor: '#328048',
82
+ hoverBg: '#2B6B3D',
83
+ },
84
+ disabled: {
85
+ borderColor: '#E9EAEB',
86
+ color: '#A5A5BA',
87
+ backgroundColor: '#E9EAEB',
88
+ },
89
+ },
90
+ };
91
+
92
+ export default colors;
@@ -0,0 +1,45 @@
1
+ import colors from './colors';
2
+
3
+ /**
4
+ * Reusable style mixins
5
+ * Fix: use `color` parameter instead of `colors` object in shadow/overlay
6
+ */
7
+ export const mixins = (color = colors.lightGreyAlpha) => ({
8
+ bbox:
9
+ 'box-sizing: border-box;\n' +
10
+ '-moz-box-sizing: border-box;\n' +
11
+ '-webkit-box-sizing: border-box;',
12
+ bshadow:
13
+ `-webkit-box-shadow: inset 0 0 30px ${color};\n` +
14
+ `-moz-box-shadow: inset 0 0 30px ${color};\n` +
15
+ `box-shadow: inset 0 0 30px ${color};`,
16
+ overlay:
17
+ `-webkit-box-shadow: inset 0 0 3px 1px ${color};\n` +
18
+ `-moz-box-shadow: inset 0 0 3px 1px ${color};\n` +
19
+ `box-shadow: inset 0 0 3px 1px ${color};`,
20
+ });
21
+
22
+ /**
23
+ * Reduced motion - respect user preference for accessibility
24
+ */
25
+ export const reducedMotion = `
26
+ @media (prefers-reduced-motion: reduce) {
27
+ *, *::before, *::after {
28
+ animation-duration: 0.01ms !important;
29
+ animation-iteration-count: 1 !important;
30
+ transition-duration: 0.01ms !important;
31
+ }
32
+ }
33
+ `;
34
+
35
+ /**
36
+ * Focus visible ring - accessible focus indicator
37
+ */
38
+ export const focusRing = (color = colors.blueFocusRing) => `
39
+ &:focus-visible {
40
+ outline: none;
41
+ box-shadow: 0 0 0 3px ${color};
42
+ }
43
+ `;
44
+
45
+ export default mixins;
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Modern design tokens - spacing, typography, breakpoints
3
+ * Uses 4px baseline grid for consistent spacing
4
+ */
5
+ const sizes = {
6
+ // Breakpoints
7
+ tablet: '768px',
8
+ desktop: '1024px',
9
+ wide: '1280px',
10
+
11
+ // Spacing (4px baseline)
12
+ margin: 10,
13
+ spacing: {
14
+ xs: 4,
15
+ sm: 8,
16
+ md: 12,
17
+ lg: 16,
18
+ xl: 24,
19
+ xxl: 32,
20
+ },
21
+
22
+ // Border radius
23
+ borderRadius: '6px',
24
+ borderRadiusSm: '4px',
25
+ borderRadiusLg: '8px',
26
+
27
+ // Button
28
+ button: {
29
+ height: {
30
+ small: '28px',
31
+ large: '34px',
32
+ },
33
+ padding: {
34
+ bottom: '2px',
35
+ leftRight: '16px',
36
+ },
37
+ minWidth: '140px',
38
+ },
39
+
40
+ // Input
41
+ input: {
42
+ height: '3.4rem',
43
+ padding: '1rem',
44
+ fontSize: '1.4rem',
45
+ },
46
+
47
+ // Checkbox
48
+ checkbox: {
49
+ height: '16px',
50
+ width: '16px',
51
+ },
52
+
53
+ // Textarea
54
+ textarea: {
55
+ padding: '0.75rem',
56
+ },
57
+
58
+ // Timepicker
59
+ timepicker: {
60
+ list: {
61
+ height: '144px',
62
+ },
63
+ },
64
+
65
+ // Table
66
+ table: {
67
+ header: {
68
+ height: '40px',
69
+ },
70
+ row: {
71
+ height: '56px',
72
+ },
73
+ deleteRow: {
74
+ height: '40px',
75
+ },
76
+ },
77
+
78
+ // Typography
79
+ fontWeight: {
80
+ regular: 400,
81
+ semiBold: 500,
82
+ bold: 600,
83
+ black: 700,
84
+ },
85
+ };
86
+
87
+ export default sizes;
@@ -0,0 +1,11 @@
1
+ import styled from 'styled-components';
2
+
3
+ import sizes from '../../assets/styles/sizes';
4
+ import Icon from '../Icon';
5
+
6
+ const PrefixIcon = styled(Icon)`
7
+ margin-right: ${sizes.margin}px;
8
+ font-size: 0.94em;
9
+ `;
10
+
11
+ export default PrefixIcon;