intergalactic 15.93.0 → 15.94.0-prerelease.0

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 (207) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/accordion/lib/cjs/Accordion.js +7 -7
  3. package/accordion/lib/es6/Accordion.js +7 -7
  4. package/breadcrumbs/lib/cjs/Breadcrumbs.js +25 -24
  5. package/breadcrumbs/lib/cjs/Breadcrumbs.js.map +1 -1
  6. package/breadcrumbs/lib/cjs/style/breadcrumbs.shadow.css +48 -36
  7. package/breadcrumbs/lib/es6/Breadcrumbs.js +25 -24
  8. package/breadcrumbs/lib/es6/Breadcrumbs.js.map +1 -1
  9. package/breadcrumbs/lib/es6/style/breadcrumbs.shadow.css +48 -36
  10. package/button/lib/cjs/Button.js +95 -55
  11. package/button/lib/cjs/Button.js.map +1 -1
  12. package/button/lib/es6/Button.js +95 -55
  13. package/button/lib/es6/Button.js.map +1 -1
  14. package/card/index.d.ts +5 -1
  15. package/card/lib/cjs/Card.js +17 -13
  16. package/card/lib/cjs/Card.js.map +1 -1
  17. package/card/lib/cjs/index.d.js.map +1 -1
  18. package/card/lib/es6/Card.js +17 -13
  19. package/card/lib/es6/Card.js.map +1 -1
  20. package/card/lib/es6/index.d.js.map +1 -1
  21. package/card/lib/types/index.d.ts +5 -1
  22. package/carousel/lib/cjs/Carousel.js +19 -19
  23. package/carousel/lib/cjs/style/carousel.shadow.css +1 -1
  24. package/carousel/lib/es6/Carousel.js +19 -19
  25. package/carousel/lib/es6/style/carousel.shadow.css +1 -1
  26. package/color-picker/lib/cjs/ColorPicker.js +23 -23
  27. package/color-picker/lib/cjs/PaletteManager.js +23 -23
  28. package/color-picker/lib/cjs/components/InputColor.js +23 -23
  29. package/color-picker/lib/es6/ColorPicker.js +23 -23
  30. package/color-picker/lib/es6/PaletteManager.js +23 -23
  31. package/color-picker/lib/es6/components/InputColor.js +23 -23
  32. package/components.json +31 -30
  33. package/d3-chart/{ReferenceLine.d.ts → Reference.d.ts} +31 -5
  34. package/d3-chart/index.d.ts +1 -2
  35. package/d3-chart/lib/cjs/Area.js +11 -11
  36. package/d3-chart/lib/cjs/Axis.js +14 -14
  37. package/d3-chart/lib/cjs/Bar.js +10 -10
  38. package/d3-chart/lib/cjs/Bubble.js +12 -12
  39. package/d3-chart/lib/cjs/Donut.js +9 -9
  40. package/d3-chart/lib/cjs/Dots.js +8 -8
  41. package/d3-chart/lib/cjs/HorizontalBar.js +10 -10
  42. package/d3-chart/lib/cjs/Hover.js +3 -3
  43. package/d3-chart/lib/cjs/Line.js +9 -9
  44. package/d3-chart/lib/cjs/Plot.js +3 -3
  45. package/d3-chart/lib/cjs/Radar.js +19 -19
  46. package/d3-chart/lib/cjs/RadialTree.js +11 -11
  47. package/d3-chart/lib/cjs/{ReferenceLine.js → Reference.js} +91 -48
  48. package/d3-chart/lib/cjs/Reference.js.map +1 -0
  49. package/d3-chart/lib/cjs/ScatterPlot.js +9 -9
  50. package/d3-chart/lib/cjs/Tooltip.js +9 -9
  51. package/d3-chart/lib/cjs/Venn.js +9 -9
  52. package/d3-chart/lib/cjs/a11y/PlotA11yModule.js +2 -2
  53. package/d3-chart/lib/cjs/a11y/PlotA11yView.js +2 -2
  54. package/d3-chart/lib/cjs/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  55. package/d3-chart/lib/cjs/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  56. package/d3-chart/lib/cjs/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  57. package/d3-chart/lib/cjs/index.js +14 -2
  58. package/d3-chart/lib/cjs/index.js.map +1 -1
  59. package/d3-chart/lib/{es6/style/reference-line.shadow.css → cjs/style/reference.shadow.css} +8 -0
  60. package/d3-chart/lib/cjs/types/Reference.d.js +2 -0
  61. package/d3-chart/lib/cjs/types/Reference.d.js.map +1 -0
  62. package/d3-chart/lib/cjs/types/index.d.js +4 -11
  63. package/d3-chart/lib/cjs/types/index.d.js.map +1 -1
  64. package/d3-chart/lib/es6/Area.js +11 -11
  65. package/d3-chart/lib/es6/Axis.js +14 -14
  66. package/d3-chart/lib/es6/Bar.js +10 -10
  67. package/d3-chart/lib/es6/Bubble.js +12 -12
  68. package/d3-chart/lib/es6/Donut.js +9 -9
  69. package/d3-chart/lib/es6/Dots.js +8 -8
  70. package/d3-chart/lib/es6/HorizontalBar.js +10 -10
  71. package/d3-chart/lib/es6/Hover.js +3 -3
  72. package/d3-chart/lib/es6/Line.js +9 -9
  73. package/d3-chart/lib/es6/Plot.js +3 -3
  74. package/d3-chart/lib/es6/Radar.js +19 -19
  75. package/d3-chart/lib/es6/RadialTree.js +11 -11
  76. package/d3-chart/lib/es6/{ReferenceLine.js → Reference.js} +88 -47
  77. package/d3-chart/lib/es6/Reference.js.map +1 -0
  78. package/d3-chart/lib/es6/ScatterPlot.js +9 -9
  79. package/d3-chart/lib/es6/Tooltip.js +9 -9
  80. package/d3-chart/lib/es6/Venn.js +9 -9
  81. package/d3-chart/lib/es6/a11y/PlotA11yModule.js +2 -2
  82. package/d3-chart/lib/es6/a11y/PlotA11yView.js +2 -2
  83. package/d3-chart/lib/es6/component/ChartLegend/LegendFlex/LegendFlex.js +4 -4
  84. package/d3-chart/lib/es6/component/ChartLegend/LegendItem/LegendItem.js +17 -17
  85. package/d3-chart/lib/es6/component/ChartLegend/LegendTable/LegendTable.js +6 -6
  86. package/d3-chart/lib/es6/index.js +1 -1
  87. package/d3-chart/lib/es6/index.js.map +1 -1
  88. package/d3-chart/lib/{cjs/style/reference-line.shadow.css → es6/style/reference.shadow.css} +8 -0
  89. package/d3-chart/lib/es6/types/Reference.d.js +2 -0
  90. package/d3-chart/lib/es6/types/Reference.d.js.map +1 -0
  91. package/d3-chart/lib/es6/types/index.d.js +1 -2
  92. package/d3-chart/lib/es6/types/index.d.js.map +1 -1
  93. package/d3-chart/lib/types/{ReferenceLine.d.ts → Reference.d.ts} +31 -5
  94. package/d3-chart/lib/types/index.d.ts +1 -2
  95. package/data-table/lib/cjs/DataTable.js +37 -37
  96. package/data-table/lib/es6/DataTable.js +37 -37
  97. package/date-picker/lib/cjs/components/Calendar.js +21 -21
  98. package/date-picker/lib/cjs/components/DateRangeComparatorAbstract.js +29 -29
  99. package/date-picker/lib/cjs/components/InputTrigger.js +29 -29
  100. package/date-picker/lib/cjs/components/PickerAbstract.js +29 -29
  101. package/date-picker/lib/cjs/components/RangePickerAbstract.js +29 -29
  102. package/date-picker/lib/es6/components/Calendar.js +21 -21
  103. package/date-picker/lib/es6/components/DateRangeComparatorAbstract.js +29 -29
  104. package/date-picker/lib/es6/components/InputTrigger.js +29 -29
  105. package/date-picker/lib/es6/components/PickerAbstract.js +29 -29
  106. package/date-picker/lib/es6/components/RangePickerAbstract.js +29 -29
  107. package/drag-and-drop/lib/cjs/DragAndDrop.js +16 -16
  108. package/drag-and-drop/lib/es6/DragAndDrop.js +16 -16
  109. package/dropdown/lib/cjs/Dropdown.js +3 -3
  110. package/dropdown/lib/cjs/Dropdown.js.map +1 -1
  111. package/dropdown/lib/es6/Dropdown.js +3 -3
  112. package/dropdown/lib/es6/Dropdown.js.map +1 -1
  113. package/dropdown-menu/lib/cjs/DropdownMenu.js +16 -16
  114. package/dropdown-menu/lib/cjs/styleScrollArea.js +6 -6
  115. package/dropdown-menu/lib/es6/DropdownMenu.js +16 -16
  116. package/dropdown-menu/lib/es6/styleScrollArea.js +6 -6
  117. package/ellipsis/lib/cjs/Ellipsis.js +10 -10
  118. package/ellipsis/lib/es6/Ellipsis.js +10 -10
  119. package/errors/lib/cjs/Error.js +9 -9
  120. package/errors/lib/es6/Error.js +9 -9
  121. package/feature-popover/lib/cjs/FeaturePopover.js +10 -10
  122. package/feature-popover/lib/es6/FeaturePopover.js +10 -10
  123. package/feedback-form/index.d.ts +12 -2
  124. package/feedback-form/lib/cjs/FeedbackForm.js +7 -7
  125. package/feedback-form/lib/cjs/component/checkbox-button/CheckboxButton.js +3 -3
  126. package/feedback-form/lib/cjs/component/feedback-rating/FeedbackRating.js +2 -2
  127. package/feedback-form/lib/cjs/component/slider-rating/SliderRating.js +6 -6
  128. package/feedback-form/lib/cjs/index.d.js.map +1 -1
  129. package/feedback-form/lib/es6/FeedbackForm.js +7 -7
  130. package/feedback-form/lib/es6/component/checkbox-button/CheckboxButton.js +3 -3
  131. package/feedback-form/lib/es6/component/feedback-rating/FeedbackRating.js +2 -2
  132. package/feedback-form/lib/es6/component/slider-rating/SliderRating.js +6 -6
  133. package/feedback-form/lib/es6/index.d.js.map +1 -1
  134. package/feedback-form/lib/types/index.d.ts +12 -2
  135. package/fullscreen-modal/lib/cjs/FullscreenModal.js +16 -14
  136. package/fullscreen-modal/lib/cjs/FullscreenModal.js.map +1 -1
  137. package/fullscreen-modal/lib/es6/FullscreenModal.js +16 -14
  138. package/fullscreen-modal/lib/es6/FullscreenModal.js.map +1 -1
  139. package/inline-input/lib/cjs/InlineInput.js +14 -14
  140. package/inline-input/lib/es6/InlineInput.js +14 -14
  141. package/input/index.d.ts +4 -0
  142. package/input/lib/cjs/Input.js +17 -17
  143. package/input/lib/cjs/index.d.js.map +1 -1
  144. package/input/lib/es6/Input.js +17 -17
  145. package/input/lib/es6/index.d.js.map +1 -1
  146. package/input/lib/types/index.d.ts +4 -0
  147. package/input-mask/lib/cjs/InputMask.js +6 -6
  148. package/input-mask/lib/es6/InputMask.js +6 -6
  149. package/input-number/lib/cjs/InputNumber.js +19 -13
  150. package/input-number/lib/cjs/InputNumber.js.map +1 -1
  151. package/input-number/lib/es6/InputNumber.js +19 -13
  152. package/input-number/lib/es6/InputNumber.js.map +1 -1
  153. package/input-tags/lib/cjs/InputTags.js +12 -12
  154. package/input-tags/lib/es6/InputTags.js +12 -12
  155. package/link/lib/cjs/Link.js +75 -35
  156. package/link/lib/cjs/Link.js.map +1 -1
  157. package/link/lib/cjs/style/link.shadow.css +1 -1
  158. package/link/lib/es6/Link.js +75 -35
  159. package/link/lib/es6/Link.js.map +1 -1
  160. package/link/lib/es6/style/link.shadow.css +1 -1
  161. package/package.json +4 -2
  162. package/pagination/lib/cjs/Pagination.js +10 -10
  163. package/pagination/lib/es6/Pagination.js +10 -10
  164. package/popper/lib/cjs/Popper.js +7 -7
  165. package/popper/lib/cjs/Popper.js.map +1 -1
  166. package/popper/lib/es6/Popper.js +7 -7
  167. package/popper/lib/es6/Popper.js.map +1 -1
  168. package/scroll-area/lib/cjs/ScrollArea.js +74 -42
  169. package/scroll-area/lib/cjs/ScrollArea.js.map +1 -1
  170. package/scroll-area/lib/cjs/ScrollBar.js +6 -6
  171. package/scroll-area/lib/cjs/style/scroll-area.shadow.css +9 -3
  172. package/scroll-area/lib/es6/ScrollArea.js +74 -42
  173. package/scroll-area/lib/es6/ScrollArea.js.map +1 -1
  174. package/scroll-area/lib/es6/ScrollBar.js +6 -6
  175. package/scroll-area/lib/es6/style/scroll-area.shadow.css +9 -3
  176. package/select/lib/cjs/InputSearch.js +6 -6
  177. package/select/lib/cjs/Select.js +9 -9
  178. package/select/lib/cjs/Select.js.map +1 -1
  179. package/select/lib/es6/InputSearch.js +6 -6
  180. package/select/lib/es6/Select.js +9 -9
  181. package/select/lib/es6/Select.js.map +1 -1
  182. package/stylelint-plugin/index.d.ts +1 -0
  183. package/stylelint-plugin/index.js +8 -0
  184. package/stylelint-plugin/index.mjs +1 -0
  185. package/stylelint-plugin/lib/cjs/index.js +102 -0
  186. package/stylelint-plugin/lib/cjs/index.js.map +1 -0
  187. package/stylelint-plugin/lib/es6/index.js +99 -0
  188. package/stylelint-plugin/lib/es6/index.js.map +1 -0
  189. package/stylelint-plugin/lib/types/index.d.ts +1 -0
  190. package/time-picker/lib/cjs/TimePicker.js +12 -12
  191. package/time-picker/lib/es6/TimePicker.js +12 -12
  192. package/tooltip/index.d.ts +9 -17
  193. package/tooltip/lib/cjs/Tooltip.js +27 -17
  194. package/tooltip/lib/cjs/Tooltip.js.map +1 -1
  195. package/tooltip/lib/cjs/index.d.js.map +1 -1
  196. package/tooltip/lib/cjs/style/tooltip.shadow.css +5 -2
  197. package/tooltip/lib/es6/Tooltip.js +27 -17
  198. package/tooltip/lib/es6/Tooltip.js.map +1 -1
  199. package/tooltip/lib/es6/index.d.js.map +1 -1
  200. package/tooltip/lib/es6/style/tooltip.shadow.css +5 -2
  201. package/tooltip/lib/types/index.d.ts +9 -17
  202. package/d3-chart/lib/cjs/ReferenceLine.js.map +0 -1
  203. package/d3-chart/lib/cjs/types/ReferenceLine.d.js +0 -2
  204. package/d3-chart/lib/cjs/types/ReferenceLine.d.js.map +0 -1
  205. package/d3-chart/lib/es6/ReferenceLine.js.map +0 -1
  206. package/d3-chart/lib/es6/types/ReferenceLine.d.js +0 -2
  207. package/d3-chart/lib/es6/types/ReferenceLine.d.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","names":["React","cn","createComponent","Component","Root","sstyled","DropdownMenu","ButtonTrigger","Divider","findComponent","logger","resolveColorEnhance","addonTextChildren","InputSearch","useBox","selectContext","uniqueIDEnhancement","i18nEnhance","localizedMessages","setFocus","isInputTriggerTag","style","_sstyled","insert","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","scrollToNode","node","scrollIntoView","block","inline","RootSelect","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","asProps","scrollToSelected","Date","now","lastHandleOptionNodeCall","setTimeout","visible","optionValue","e","newValue","_this$asProps","interaction","filter","v","handlers","emptyValue","_createClass","key","uncontrolledProps","getTriggerProps","_this$asProps2","size","disabled","state","placeholder","options","forwardRef","name","uid","disablePortal","getI18nText","id","focusHint","undefined","empty","$hiddenRef","active","onClear","handlerClear","children","renderChildrenTrigger","ref","triggerRef","getListProps","_this$asProps3","role","getMenuProps","_this$asProps4","getOptionProps","props","selected","other","handleOptionNode","_objectSpread","onClick","bindHandlerOptionClick","getOptionCheckboxProps","_this$asProps5","resolveColor","getDividerProps","my","reduce","acc","selectedOption","find","o","push","label","render","_ref2","_this$asProps6","Children","forcedAdvancedMode","_objectWithoutProperties","_excluded","advancedMode","Select","Trigger","displayName","Popper","warn","_ref","createElement","_assignProps","Menu","map","option","index","Option","_extends","Checkbox","_assignProps2","defaultValue","defaultVisible","i18n","locale","_ref8","_ref3","arguments[0]","_ref6","styles","_ref8$tag","tag","Tag","hasInputTrigger","SSelectTrigger","_assignProps3","Text","Addon","optionPropsContext","createContext","_ref4","_ref7","SSelectOption","Item","_assignProps4","Provider","providedProps","optionProps","useContext","useMemo","_useBox","_useBox2","_slicedToArray","SOptionCheckbox","componentProps","theme","indeterminate","_styles$cn","className","tabIndex","InputSearchWrapper","_ref5","_assignProps5","List","OptionTitle","ItemTitle","OptionHint","ItemHint","_______childrenComponents","Input","parent","context","wrapSelect","wrapper"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport logger from '@semcore/utils/lib/logger';\nimport resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport InputSearch from './InputSearch';\nimport { useBox } from '@semcore/flex-box';\nimport { selectContext } from './context';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { setFocus } from '@semcore/utils/lib/use/useFocusLock';\nimport { isInputTriggerTag } from '@semcore/popper';\n\nimport style from './style/select.shadow.css';\n\nfunction isSelectedOption(value, valueOption) {\n return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;\n}\n\nfunction isEmptyValue(value) {\n return Array.isArray(value) ? value.length === 0 : value === null;\n}\n\nfunction getEmptyValue(multiselect) {\n return multiselect ? [] : null;\n}\n\nconst scrollToNode = (node) => {\n if (!node) return;\n if (!node.scrollIntoView) return;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n};\n\nclass RootSelect extends Component {\n static displayName = 'Select';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages), resolveColorEnhance()];\n\n static defaultProps = (props) => ({\n placeholder: props.multiselect ? 'Select options' : 'Select option',\n size: 'm',\n defaultValue: getEmptyValue(props.multiselect),\n defaultVisible: false,\n scrollToSelected: true,\n i18n: localizedMessages,\n locale: 'en',\n });\n\n firstSelectedOptionRef = React.createRef();\n\n triggerRef = React.createRef();\n\n isScrolledToFirstOption = false;\n\n uncontrolledProps() {\n return {\n visible: null,\n value: null,\n };\n }\n\n getTriggerProps() {\n const {\n size,\n disabled,\n visible,\n state,\n placeholder,\n value,\n options,\n forwardRef,\n name,\n multiselect,\n uid,\n disablePortal,\n getI18nText,\n } = this.asProps;\n\n return {\n id: `igc-${uid}-trigger`,\n 'aria-controls': `igc-${uid}-list`,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-haspopup': 'listbox',\n 'aria-expanded': visible ? 'true' : 'false',\n 'aria-disabled': disabled ? 'true' : 'false',\n empty: isEmptyValue(value),\n size,\n value,\n name,\n $hiddenRef: forwardRef,\n multiselect,\n state,\n placeholder,\n disabled,\n active: visible,\n onClear: this.handlerClear,\n children: this.renderChildrenTrigger(value, options),\n getI18nText,\n ref: this.triggerRef,\n };\n }\n\n getListProps() {\n const { multiselect, uid } = this.asProps;\n\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': 'List of options',\n };\n }\n\n getMenuProps() {\n const { uid, getI18nText, multiselect } = this.asProps;\n\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': getI18nText('optionsList'),\n };\n }\n\n getOptionProps(props) {\n const { value } = this.asProps;\n const selected = isSelectedOption(value, props.value);\n const other = {};\n\n if (selected) {\n other.ref = this.handleOptionNode;\n }\n\n return {\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n 'aria-disabled': props.disabled ? 'true' : 'false',\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value),\n ...other,\n };\n }\n\n lastHandleOptionNodeCall = -1;\n handleOptionNode = (node) => {\n if (!this.asProps.scrollToSelected) return;\n if (Date.now() - this.lastHandleOptionNodeCall < 30) return;\n this.lastHandleOptionNodeCall = Date.now();\n setTimeout(() => {\n // in most cases 10ms timeout works perfectly and scrolls before user can see it\n if (this.asProps.visible) scrollToNode(node);\n }, 10);\n setTimeout(() => {\n // in rare cases 10ms timeout it not enough so 30ms timeout saves the day\n if (this.asProps.visible) scrollToNode(node);\n }, 30);\n };\n\n getOptionCheckboxProps() {\n const { size, resolveColor } = this.asProps;\n\n return {\n size,\n resolveColor,\n };\n }\n\n getDividerProps() {\n return { my: 1, 'aria-disabled': 'true' };\n }\n\n renderChildrenTrigger(value, options) {\n if (options) {\n return [].concat(value).reduce((acc, value) => {\n const selectedOption = options.find((o) => isSelectedOption(value, o.value));\n if (!selectedOption) return acc;\n if (acc.length) acc.push(', ');\n acc.push(selectedOption.label || selectedOption.value);\n return acc;\n }, []);\n }\n return Array.isArray(value)\n ? value.reduce((acc, value) => {\n if (acc.length) acc.push(', ');\n acc.push(value);\n return acc;\n }, [])\n : value;\n }\n\n bindHandlerOptionClick = (optionValue) => (e) => {\n let newValue = optionValue;\n const { value, multiselect, interaction } = this.asProps;\n if (Array.isArray(value)) {\n if (value.includes(optionValue)) {\n newValue = value.filter((v) => v !== optionValue);\n } else {\n newValue = value.concat(optionValue);\n }\n }\n this.handlers.value(newValue, e);\n if (!multiselect) {\n this.handlers.visible(false);\n }\n };\n\n handlerClear = (e) => {\n const { value } = this.asProps;\n const emptyValue = getEmptyValue(Array.isArray(value));\n this.handlers.value(emptyValue, e);\n this.handlers.visible(false);\n };\n\n render() {\n const { Children, options, multiselect, value, uid, forcedAdvancedMode, ...other } =\n this.asProps;\n const advancedMode =\n forcedAdvancedMode ||\n findComponent(Children, [Select.Trigger.displayName, Select.Popper.displayName]);\n\n logger.warn(\n options && advancedMode,\n \"Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'\",\n other['data-ui-name'] || Select.displayName,\n );\n\n if (options) {\n return (\n <Root render={DropdownMenu}>\n <Select.Trigger {...other} />\n <Select.Menu>\n {options.map((option, index) => {\n return (\n <Select.Option key={option.value} id={`igc-${uid}-option-${index}`} {...option}>\n {multiselect && <Select.Option.Checkbox />}\n {option.children}\n </Select.Option>\n );\n })}\n </Select.Menu>\n </Root>\n );\n }\n\n return (\n <Root render={DropdownMenu}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction Trigger({\n Children,\n name,\n value,\n styles,\n $hiddenRef,\n tag: Tag = ButtonTrigger,\n getI18nText,\n}) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SSelectTrigger = Root;\n\n return sstyled(styles)(\n <SSelectTrigger\n render={DropdownMenu.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n true,\n )}\n {name && <input type='hidden' defaultValue={value} name={name} ref={$hiddenRef} />}\n </SSelectTrigger>,\n );\n}\n\nconst optionPropsContext = React.createContext({});\nfunction Option(props) {\n const SSelectOption = Root;\n const { styles, Children } = props;\n\n return sstyled(styles)(\n <SSelectOption render={DropdownMenu.Item}>\n <optionPropsContext.Provider value={props}>\n <Children />\n </optionPropsContext.Provider>\n </SSelectOption>,\n );\n}\n\nfunction Checkbox(providedProps) {\n const optionProps = React.useContext(optionPropsContext);\n const props = React.useMemo(\n () => ({\n selected: optionProps?.selected,\n disabled: optionProps?.disabled,\n size: optionProps?.size,\n ...(providedProps || {}),\n }),\n [providedProps, optionProps],\n );\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected, resolveColor, indeterminate } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n indeterminate,\n selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n tabIndex={-1}\n />\n );\n}\n\nconst InputSearchWrapper = function () {\n return <Root render={InputSearch} />;\n};\n\nconst Select = createComponent(\n RootSelect,\n {\n Trigger: [\n Trigger,\n {\n Addon: ButtonTrigger.Addon,\n Text: ButtonTrigger.Text,\n },\n ],\n Popper: DropdownMenu.Popper,\n List: DropdownMenu.List,\n Menu: DropdownMenu.Menu,\n Option: [\n Option,\n {\n Addon: DropdownMenu.Item.Addon,\n Checkbox,\n },\n ],\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: [InputSearchWrapper, InputSearch._______childrenComponents],\n Input: [InputSearchWrapper, InputSearch._______childrenComponents],\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport const wrapSelect = (wrapper) => wrapper;\n\nexport default Select;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Select.js","names":["React","cn","createComponent","Component","Root","sstyled","DropdownMenu","ButtonTrigger","Divider","findComponent","logger","resolveColorEnhance","addonTextChildren","InputSearch","useBox","selectContext","uniqueIDEnhancement","i18nEnhance","localizedMessages","setFocus","isInputTriggerTag","style","_sstyled","insert","isSelectedOption","value","valueOption","Array","isArray","includes","isEmptyValue","length","getEmptyValue","multiselect","scrollToNode","node","scrollIntoView","block","inline","RootSelect","_Component","_inherits","_super","_createSuper","_this","_classCallCheck","_len","arguments","args","_key","call","apply","concat","_defineProperty","_assertThisInitialized","createRef","asProps","scrollToSelected","Date","now","lastHandleOptionNodeCall","setTimeout","visible","optionValue","e","newValue","_this$asProps","interaction","filter","v","handlers","emptyValue","_createClass","key","uncontrolledProps","getTriggerProps","_this$asProps2","size","disabled","state","placeholder","options","forwardRef","name","uid","disablePortal","getI18nText","id","undefined","focusHint","empty","$hiddenRef","active","onClear","handlerClear","children","renderChildrenTrigger","ref","triggerRef","getListProps","_this$asProps3","role","getMenuProps","_this$asProps4","getOptionProps","props","selected","other","handleOptionNode","_objectSpread","onClick","bindHandlerOptionClick","getOptionCheckboxProps","_this$asProps5","resolveColor","getDividerProps","my","reduce","acc","selectedOption","find","o","push","label","render","_ref2","_this$asProps6","Children","forcedAdvancedMode","_objectWithoutProperties","_excluded","advancedMode","Select","Trigger","displayName","Popper","warn","_ref","createElement","_assignProps","Menu","map","option","index","Option","_extends","Checkbox","_assignProps2","defaultValue","defaultVisible","i18n","locale","_ref8","_ref3","arguments[0]","_ref6","styles","_ref8$tag","tag","Tag","hasInputTrigger","SSelectTrigger","_assignProps3","Text","Addon","optionPropsContext","createContext","_ref4","_ref7","SSelectOption","Item","_assignProps4","Provider","providedProps","optionProps","useContext","useMemo","_useBox","_useBox2","_slicedToArray","SOptionCheckbox","componentProps","theme","indeterminate","_styles$cn","className","tabIndex","InputSearchWrapper","_ref5","_assignProps5","List","OptionTitle","ItemTitle","OptionHint","ItemHint","_______childrenComponents","Input","parent","context","wrapSelect","wrapper"],"sources":["../../src/Select.jsx"],"sourcesContent":["import React from 'react';\nimport cn from 'classnames';\nimport createComponent, { Component, Root, sstyled } from '@semcore/core';\nimport DropdownMenu from '@semcore/dropdown-menu';\nimport { ButtonTrigger } from '@semcore/base-trigger';\nimport Divider from '@semcore/divider';\nimport findComponent from '@semcore/utils/lib/findComponent';\nimport logger from '@semcore/utils/lib/logger';\nimport resolveColorEnhance from '@semcore/utils/lib/enhances/resolveColorEnhance';\nimport addonTextChildren from '@semcore/utils/lib/addonTextChildren';\nimport InputSearch from './InputSearch';\nimport { useBox } from '@semcore/flex-box';\nimport { selectContext } from './context';\nimport uniqueIDEnhancement from '@semcore/utils/lib/uniqueID';\nimport i18nEnhance from '@semcore/utils/lib/enhances/i18nEnhance';\nimport { localizedMessages } from './translations/__intergalactic-dynamic-locales';\nimport { setFocus } from '@semcore/utils/lib/use/useFocusLock';\nimport { isInputTriggerTag } from '@semcore/popper';\n\nimport style from './style/select.shadow.css';\n\nfunction isSelectedOption(value, valueOption) {\n return Array.isArray(value) ? value.includes(valueOption) : valueOption === value;\n}\n\nfunction isEmptyValue(value) {\n return Array.isArray(value) ? value.length === 0 : value === null;\n}\n\nfunction getEmptyValue(multiselect) {\n return multiselect ? [] : null;\n}\n\nconst scrollToNode = (node) => {\n if (!node) return;\n if (!node.scrollIntoView) return;\n node.scrollIntoView({\n block: 'nearest',\n inline: 'nearest',\n });\n};\n\nclass RootSelect extends Component {\n static displayName = 'Select';\n\n static style = style;\n static enhance = [uniqueIDEnhancement(), i18nEnhance(localizedMessages), resolveColorEnhance()];\n\n static defaultProps = (props) => ({\n placeholder: props.multiselect ? 'Select options' : 'Select option',\n size: 'm',\n defaultValue: getEmptyValue(props.multiselect),\n defaultVisible: false,\n scrollToSelected: true,\n i18n: localizedMessages,\n locale: 'en',\n });\n\n firstSelectedOptionRef = React.createRef();\n\n triggerRef = React.createRef();\n\n isScrolledToFirstOption = false;\n\n uncontrolledProps() {\n return {\n visible: null,\n value: null,\n };\n }\n\n getTriggerProps() {\n const {\n size,\n disabled,\n visible,\n state,\n placeholder,\n value,\n options,\n forwardRef,\n name,\n multiselect,\n uid,\n disablePortal,\n getI18nText,\n } = this.asProps;\n\n return {\n id: `igc-${uid}-trigger`,\n 'aria-controls': visible ? `igc-${uid}-list` : undefined,\n focusHint: visible && !disablePortal ? getI18nText('triggerHint') : undefined,\n 'aria-haspopup': 'listbox',\n 'aria-expanded': visible ? 'true' : 'false',\n 'aria-disabled': disabled ? 'true' : 'false',\n empty: isEmptyValue(value),\n size,\n value,\n name,\n $hiddenRef: forwardRef,\n multiselect,\n state,\n placeholder,\n disabled,\n active: visible,\n onClear: this.handlerClear,\n children: this.renderChildrenTrigger(value, options),\n getI18nText,\n ref: this.triggerRef,\n };\n }\n\n getListProps() {\n const { multiselect, uid } = this.asProps;\n\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': 'List of options',\n };\n }\n\n getMenuProps() {\n const { uid, getI18nText, multiselect } = this.asProps;\n\n return {\n 'aria-multiselectable': multiselect ? 'true' : undefined,\n id: `igc-${uid}-list`,\n role: 'listbox',\n 'aria-label': getI18nText('optionsList'),\n };\n }\n\n getOptionProps(props) {\n const { value } = this.asProps;\n const selected = isSelectedOption(value, props.value);\n const other = {};\n\n if (selected) {\n other.ref = this.handleOptionNode;\n }\n\n return {\n selected,\n 'aria-selected': selected ? 'true' : 'false',\n 'aria-disabled': props.disabled ? 'true' : 'false',\n role: 'option',\n onClick: this.bindHandlerOptionClick(props.value),\n ...other,\n };\n }\n\n lastHandleOptionNodeCall = -1;\n handleOptionNode = (node) => {\n if (!this.asProps.scrollToSelected) return;\n if (Date.now() - this.lastHandleOptionNodeCall < 30) return;\n this.lastHandleOptionNodeCall = Date.now();\n setTimeout(() => {\n // in most cases 10ms timeout works perfectly and scrolls before user can see it\n if (this.asProps.visible) scrollToNode(node);\n }, 10);\n setTimeout(() => {\n // in rare cases 10ms timeout it not enough so 30ms timeout saves the day\n if (this.asProps.visible) scrollToNode(node);\n }, 30);\n };\n\n getOptionCheckboxProps() {\n const { size, resolveColor } = this.asProps;\n\n return {\n size,\n resolveColor,\n };\n }\n\n getDividerProps() {\n return { my: 1, 'aria-disabled': 'true' };\n }\n\n renderChildrenTrigger(value, options) {\n if (options) {\n return [].concat(value).reduce((acc, value) => {\n const selectedOption = options.find((o) => isSelectedOption(value, o.value));\n if (!selectedOption) return acc;\n if (acc.length) acc.push(', ');\n acc.push(selectedOption.label || selectedOption.value);\n return acc;\n }, []);\n }\n return Array.isArray(value)\n ? value.reduce((acc, value) => {\n if (acc.length) acc.push(', ');\n acc.push(value);\n return acc;\n }, [])\n : value;\n }\n\n bindHandlerOptionClick = (optionValue) => (e) => {\n let newValue = optionValue;\n const { value, multiselect, interaction } = this.asProps;\n if (Array.isArray(value)) {\n if (value.includes(optionValue)) {\n newValue = value.filter((v) => v !== optionValue);\n } else {\n newValue = value.concat(optionValue);\n }\n }\n this.handlers.value(newValue, e);\n if (!multiselect) {\n this.handlers.visible(false);\n }\n };\n\n handlerClear = (e) => {\n const { value } = this.asProps;\n const emptyValue = getEmptyValue(Array.isArray(value));\n this.handlers.value(emptyValue, e);\n this.handlers.visible(false);\n };\n\n render() {\n const { Children, options, multiselect, value, uid, forcedAdvancedMode, ...other } =\n this.asProps;\n const advancedMode =\n forcedAdvancedMode ||\n findComponent(Children, [Select.Trigger.displayName, Select.Popper.displayName]);\n\n logger.warn(\n options && advancedMode,\n \"Don't use at the same time 'options' property and '<Select.Trigger/>/<Select.Popper/>'\",\n other['data-ui-name'] || Select.displayName,\n );\n\n if (options) {\n return (\n <Root render={DropdownMenu}>\n <Select.Trigger {...other} />\n <Select.Menu>\n {options.map((option, index) => {\n return (\n <Select.Option key={option.value} id={`igc-${uid}-option-${index}`} {...option}>\n {multiselect && <Select.Option.Checkbox />}\n {option.children}\n </Select.Option>\n );\n })}\n </Select.Menu>\n </Root>\n );\n }\n\n return (\n <Root render={DropdownMenu}>\n <Children />\n </Root>\n );\n }\n}\n\nfunction Trigger({\n Children,\n name,\n value,\n styles,\n $hiddenRef,\n tag: Tag = ButtonTrigger,\n getI18nText,\n}) {\n const hasInputTrigger = isInputTriggerTag(Tag);\n const SSelectTrigger = Root;\n\n return sstyled(styles)(\n <SSelectTrigger\n render={DropdownMenu.Trigger}\n tag={Tag}\n placeholder={getI18nText('selectPlaceholder')}\n aria-autocomplete={(hasInputTrigger && 'list') || undefined}\n >\n {addonTextChildren(\n Children,\n Tag.Text || ButtonTrigger.Text,\n Tag.Addon || ButtonTrigger.Addon,\n true,\n )}\n {name && <input type='hidden' defaultValue={value} name={name} ref={$hiddenRef} />}\n </SSelectTrigger>,\n );\n}\n\nconst optionPropsContext = React.createContext({});\nfunction Option(props) {\n const SSelectOption = Root;\n const { styles, Children } = props;\n\n return sstyled(styles)(\n <SSelectOption render={DropdownMenu.Item}>\n <optionPropsContext.Provider value={props}>\n <Children />\n </optionPropsContext.Provider>\n </SSelectOption>,\n );\n}\n\nfunction Checkbox(providedProps) {\n const optionProps = React.useContext(optionPropsContext);\n const props = React.useMemo(\n () => ({\n selected: optionProps?.selected,\n disabled: optionProps?.disabled,\n size: optionProps?.size,\n ...(providedProps || {}),\n }),\n [providedProps, optionProps],\n );\n const [SOptionCheckbox, componentProps] = useBox(props, props.forwardRef);\n const { size, theme, selected, resolveColor, indeterminate } = props;\n const styles = sstyled(props.styles);\n\n const { className, style } = styles.cn('SOptionCheckbox', {\n size,\n 'use:theme': resolveColor(theme),\n indeterminate,\n selected,\n });\n\n return (\n <SOptionCheckbox\n {...componentProps}\n className={cn(className, componentProps.className) || undefined}\n style={{ ...style, ...componentProps.style }}\n tabIndex={-1}\n />\n );\n}\n\nconst InputSearchWrapper = function () {\n return <Root render={InputSearch} />;\n};\n\nconst Select = createComponent(\n RootSelect,\n {\n Trigger: [\n Trigger,\n {\n Addon: ButtonTrigger.Addon,\n Text: ButtonTrigger.Text,\n },\n ],\n Popper: DropdownMenu.Popper,\n List: DropdownMenu.List,\n Menu: DropdownMenu.Menu,\n Option: [\n Option,\n {\n Addon: DropdownMenu.Item.Addon,\n Checkbox,\n },\n ],\n OptionTitle: DropdownMenu.ItemTitle,\n OptionHint: DropdownMenu.ItemHint,\n Divider,\n InputSearch: [InputSearchWrapper, InputSearch._______childrenComponents],\n Input: [InputSearchWrapper, InputSearch._______childrenComponents],\n },\n { parent: DropdownMenu, context: selectContext },\n);\n\nexport const wrapSelect = (wrapper) => wrapper;\n\nexport default Select;\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ module.exports.__esModule = true;
4
+ var item = require("./lib/cjs/index");
5
+ module.exports = item['default'] || {};
6
+ Object.keys(item).forEach(function (key) {
7
+ module.exports[key] = item[key];
8
+ });
@@ -0,0 +1 @@
1
+ export * from './lib/es6/index.js';
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
5
+ var _objectSpread2 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
6
+ var _stylelint = _interopRequireDefault(require("stylelint"));
7
+ var _postcssValueParser = _interopRequireDefault(require("postcss-value-parser"));
8
+ var _jsLevenshtein = _interopRequireDefault(require("js-levenshtein"));
9
+ var _path = require("path");
10
+ var ruleName = 'intergalactic/design-tokens';
11
+ var messages = _stylelint["default"].utils.ruleMessages(ruleName, {
12
+ expected: function expected(property, usedToken, recommendation) {
13
+ if (recommendation) return "Unexpected design token \"".concat(usedToken, "\" in property \"").concat(property, "\". Did you mean ").concat(recommendation, "?");
14
+ return "Unexpected design token \"".concat(usedToken, "\" in property \"").concat(property, "\".");
15
+ }
16
+ });
17
+ var getClosestTokens = function getClosestTokens(value, designTokensList) {
18
+ var distanced = designTokensList.map(function (token) {
19
+ var distance = (0, _jsLevenshtein["default"])(token, value);
20
+ return {
21
+ token: token,
22
+ distance: distance
23
+ };
24
+ });
25
+ distanced.sort(function (a, b) {
26
+ return a.distance - b.distance;
27
+ });
28
+ return distanced.filter(function (_ref) {
29
+ var distance = _ref.distance;
30
+ return distance <= 5;
31
+ }).slice(0, 3).map(function (_ref2) {
32
+ var token = _ref2.token;
33
+ return token;
34
+ });
35
+ };
36
+ var stringifyList = function stringifyList(list) {
37
+ if (list.length === 0) return '';
38
+ if (list.length === 1) return list[0];
39
+ return "".concat(list.slice(0, -1).join(', '), " or ").concat(list.slice(-1));
40
+ };
41
+ var validateToken = function validateToken(value, prefix, designTokensSet, designTokensList) {
42
+ var replacement = null;
43
+ var parsedValue = (0, _postcssValueParser["default"])(value);
44
+ parsedValue.walk(function (node) {
45
+ if (replacement) return;
46
+ if (node.type === 'function' && node.value === 'var' && node.nodes.length > 0) {
47
+ var token = node.nodes[0].value;
48
+ if (token.startsWith(prefix) && !designTokensSet.has(token)) {
49
+ replacement = {
50
+ from: token,
51
+ to: stringifyList(getClosestTokens(token, designTokensList))
52
+ };
53
+ }
54
+ }
55
+ });
56
+ return replacement;
57
+ };
58
+ var validateDecl = function validateDecl(decl, result, prefix, designTokensSet, designTokensList) {
59
+ var property = decl.prop;
60
+ var value = decl.value;
61
+ var replacement = validateToken(value, prefix, designTokensSet, designTokensList);
62
+ if (replacement) {
63
+ _stylelint["default"].utils.report({
64
+ ruleName: ruleName,
65
+ result: result,
66
+ node: decl,
67
+ message: messages.expected(property, replacement.from, replacement.to)
68
+ });
69
+ }
70
+ };
71
+ var defaultOptions = {
72
+ tokensSource: 'node_modules/intergalactic/utils/lib/themes/default.json',
73
+ include: [],
74
+ exclude: [],
75
+ prefix: '--intergalactic-'
76
+ };
77
+ var meta = {
78
+ url: 'https://developer.semrush.com/intergalactic/style/design-tokens/design-tokens#stylelint-plugin'
79
+ };
80
+ var rule = function rule(enabled) {
81
+ var providedOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
82
+ if (!enabled) return function () {};
83
+ var options = (0, _objectSpread2["default"])((0, _objectSpread2["default"])({}, defaultOptions), providedOptions);
84
+ var tokensSource = (0, _path.isAbsolute)(options.tokensSource) ? options.tokensSource : (0, _path.resolve)(process.cwd(), options.tokensSource);
85
+ var designTokens = require(tokensSource);
86
+ var designTokensList = [].concat((0, _toConsumableArray2["default"])(Object.keys(designTokens)), (0, _toConsumableArray2["default"])(options.include)).filter(function (token) {
87
+ return !options.exclude.includes(token);
88
+ });
89
+ var designTokensSet = new Set(designTokensList);
90
+ var prefix = options.prefix;
91
+ return function (postcssRoot, result) {
92
+ postcssRoot.walkDecls(function (decl) {
93
+ validateDecl(decl, result, prefix, designTokensSet, designTokensList);
94
+ });
95
+ };
96
+ };
97
+ rule.ruleName = ruleName;
98
+ rule.messages = messages;
99
+ rule.meta = meta;
100
+ rule.rule = rule;
101
+ module.exports = rule;
102
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_stylelint","_interopRequireDefault","require","_postcssValueParser","_jsLevenshtein","_path","ruleName","messages","stylelint","utils","ruleMessages","expected","property","usedToken","recommendation","concat","getClosestTokens","value","designTokensList","distanced","map","token","distance","levenshtein","sort","a","b","filter","_ref","slice","_ref2","stringifyList","list","length","join","validateToken","prefix","designTokensSet","replacement","parsedValue","postcssValueParser","walk","node","type","nodes","startsWith","has","from","to","validateDecl","decl","result","prop","report","message","defaultOptions","tokensSource","include","exclude","meta","url","rule","enabled","providedOptions","arguments","undefined","options","_objectSpread2","isAbsolutePath","resolvePath","process","cwd","designTokens","_toConsumableArray2","Object","keys","includes","Set","postcssRoot","walkDecls","module","exports"],"sources":["../../src/index.ts"],"sourcesContent":["import stylelint, { PostcssResult, Rule } from 'stylelint';\nimport postcssValueParser, {} from 'postcss-value-parser';\nimport levenshtein from 'js-levenshtein';\nimport type { Declaration } from 'postcss';\nimport { resolve as resolvePath, isAbsolute as isAbsolutePath } from 'path';\n\nconst ruleName = 'intergalactic/design-tokens';\nconst messages = stylelint.utils.ruleMessages(ruleName, {\n expected: (property, usedToken, recommendation) => {\n if (recommendation)\n return `Unexpected design token \"${usedToken}\" in property \"${property}\". Did you mean ${recommendation}?`;\n return `Unexpected design token \"${usedToken}\" in property \"${property}\".`;\n },\n});\n\nconst getClosestTokens = (value: string, designTokensList: string[]) => {\n const distanced = designTokensList.map((token) => {\n const distance = levenshtein(token, value);\n return {\n token,\n distance,\n };\n });\n distanced.sort((a, b) => a.distance - b.distance);\n\n return distanced\n .filter(({ distance }) => distance <= 5)\n .slice(0, 3)\n .map(({ token }) => token);\n};\n\nconst stringifyList = (list: string[]) => {\n if (list.length === 0) return '';\n if (list.length === 1) return list[0];\n return `${list.slice(0, -1).join(', ')} or ${list.slice(-1)}`;\n};\n\ntype Replacement = { from: string; to: string } | null;\nconst validateToken = (\n value: string,\n prefix: string,\n designTokensSet: Set<string>,\n designTokensList: string[],\n): Replacement => {\n let replacement: Replacement = null;\n\n const parsedValue = postcssValueParser(value);\n parsedValue.walk((node) => {\n if (replacement) return;\n if (node.type === 'function' && node.value === 'var' && node.nodes.length > 0) {\n const token = node.nodes[0].value;\n if (token.startsWith(prefix) && !designTokensSet.has(token)) {\n replacement = {\n from: token,\n to: stringifyList(getClosestTokens(token, designTokensList)),\n };\n }\n }\n });\n\n return replacement;\n};\n\nconst validateDecl = (\n decl: Declaration,\n result: PostcssResult,\n prefix: string,\n designTokensSet: Set<string>,\n designTokensList: string[],\n) => {\n const property = decl.prop;\n const value = decl.value;\n\n const replacement = validateToken(value, prefix, designTokensSet, designTokensList);\n\n if (replacement) {\n stylelint.utils.report({\n ruleName,\n result,\n node: decl,\n message: messages.expected(property, replacement.from, replacement.to),\n });\n }\n};\n\ntype Options = {\n tokensSource: string;\n include: string[];\n exclude: string[];\n prefix: string;\n};\n\nconst defaultOptions = {\n tokensSource: 'node_modules/intergalactic/utils/lib/themes/default.json',\n include: [],\n exclude: [],\n prefix: '--intergalactic-',\n} satisfies Options;\n\nconst meta = {\n url: 'https://developer.semrush.com/intergalactic/style/design-tokens/design-tokens#stylelint-plugin',\n};\n\nconst rule: Rule = (enabled: boolean, providedOptions: Partial<Options> = {}) => {\n if (!enabled) return () => {};\n\n const options = { ...defaultOptions, ...providedOptions };\n const tokensSource = isAbsolutePath(options.tokensSource)\n ? options.tokensSource\n : resolvePath(process.cwd(), options.tokensSource);\n const designTokens = require(tokensSource);\n const designTokensList = [...Object.keys(designTokens), ...options.include].filter(\n (token) => !options.exclude.includes(token),\n );\n const designTokensSet = new Set(designTokensList);\n const prefix = options.prefix;\n\n return (postcssRoot, result) => {\n postcssRoot.walkDecls((decl) => {\n validateDecl(decl, result, prefix, designTokensSet, designTokensList);\n });\n };\n};\n\nrule.ruleName = ruleName;\nrule.messages = messages;\nrule.meta = meta;\n(rule as any).rule = rule;\n\nmodule.exports = rule;\n"],"mappings":"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"}
@@ -0,0 +1,99 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _objectSpread from "@babel/runtime/helpers/objectSpread2";
3
+ import stylelint from 'stylelint';
4
+ import postcssValueParser from 'postcss-value-parser';
5
+ import levenshtein from 'js-levenshtein';
6
+ import { resolve as resolvePath, isAbsolute as isAbsolutePath } from 'path';
7
+ var ruleName = 'intergalactic/design-tokens';
8
+ var messages = stylelint.utils.ruleMessages(ruleName, {
9
+ expected: function expected(property, usedToken, recommendation) {
10
+ if (recommendation) return "Unexpected design token \"".concat(usedToken, "\" in property \"").concat(property, "\". Did you mean ").concat(recommendation, "?");
11
+ return "Unexpected design token \"".concat(usedToken, "\" in property \"").concat(property, "\".");
12
+ }
13
+ });
14
+ var getClosestTokens = function getClosestTokens(value, designTokensList) {
15
+ var distanced = designTokensList.map(function (token) {
16
+ var distance = levenshtein(token, value);
17
+ return {
18
+ token: token,
19
+ distance: distance
20
+ };
21
+ });
22
+ distanced.sort(function (a, b) {
23
+ return a.distance - b.distance;
24
+ });
25
+ return distanced.filter(function (_ref) {
26
+ var distance = _ref.distance;
27
+ return distance <= 5;
28
+ }).slice(0, 3).map(function (_ref2) {
29
+ var token = _ref2.token;
30
+ return token;
31
+ });
32
+ };
33
+ var stringifyList = function stringifyList(list) {
34
+ if (list.length === 0) return '';
35
+ if (list.length === 1) return list[0];
36
+ return "".concat(list.slice(0, -1).join(', '), " or ").concat(list.slice(-1));
37
+ };
38
+ var validateToken = function validateToken(value, prefix, designTokensSet, designTokensList) {
39
+ var replacement = null;
40
+ var parsedValue = postcssValueParser(value);
41
+ parsedValue.walk(function (node) {
42
+ if (replacement) return;
43
+ if (node.type === 'function' && node.value === 'var' && node.nodes.length > 0) {
44
+ var token = node.nodes[0].value;
45
+ if (token.startsWith(prefix) && !designTokensSet.has(token)) {
46
+ replacement = {
47
+ from: token,
48
+ to: stringifyList(getClosestTokens(token, designTokensList))
49
+ };
50
+ }
51
+ }
52
+ });
53
+ return replacement;
54
+ };
55
+ var validateDecl = function validateDecl(decl, result, prefix, designTokensSet, designTokensList) {
56
+ var property = decl.prop;
57
+ var value = decl.value;
58
+ var replacement = validateToken(value, prefix, designTokensSet, designTokensList);
59
+ if (replacement) {
60
+ stylelint.utils.report({
61
+ ruleName: ruleName,
62
+ result: result,
63
+ node: decl,
64
+ message: messages.expected(property, replacement.from, replacement.to)
65
+ });
66
+ }
67
+ };
68
+ var defaultOptions = {
69
+ tokensSource: 'node_modules/intergalactic/utils/lib/themes/default.json',
70
+ include: [],
71
+ exclude: [],
72
+ prefix: '--intergalactic-'
73
+ };
74
+ var meta = {
75
+ url: 'https://developer.semrush.com/intergalactic/style/design-tokens/design-tokens#stylelint-plugin'
76
+ };
77
+ var rule = function rule(enabled) {
78
+ var providedOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
79
+ if (!enabled) return function () {};
80
+ var options = _objectSpread(_objectSpread({}, defaultOptions), providedOptions);
81
+ var tokensSource = isAbsolutePath(options.tokensSource) ? options.tokensSource : resolvePath(process.cwd(), options.tokensSource);
82
+ var designTokens = require(tokensSource);
83
+ var designTokensList = [].concat(_toConsumableArray(Object.keys(designTokens)), _toConsumableArray(options.include)).filter(function (token) {
84
+ return !options.exclude.includes(token);
85
+ });
86
+ var designTokensSet = new Set(designTokensList);
87
+ var prefix = options.prefix;
88
+ return function (postcssRoot, result) {
89
+ postcssRoot.walkDecls(function (decl) {
90
+ validateDecl(decl, result, prefix, designTokensSet, designTokensList);
91
+ });
92
+ };
93
+ };
94
+ rule.ruleName = ruleName;
95
+ rule.messages = messages;
96
+ rule.meta = meta;
97
+ rule.rule = rule;
98
+ module.exports = rule;
99
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["stylelint","postcssValueParser","levenshtein","resolve","resolvePath","isAbsolute","isAbsolutePath","ruleName","messages","utils","ruleMessages","expected","property","usedToken","recommendation","concat","getClosestTokens","value","designTokensList","distanced","map","token","distance","sort","a","b","filter","_ref","slice","_ref2","stringifyList","list","length","join","validateToken","prefix","designTokensSet","replacement","parsedValue","walk","node","type","nodes","startsWith","has","from","to","validateDecl","decl","result","prop","report","message","defaultOptions","tokensSource","include","exclude","meta","url","rule","enabled","providedOptions","arguments","undefined","options","_objectSpread","process","cwd","designTokens","require","_toConsumableArray","Object","keys","includes","Set","postcssRoot","walkDecls","module","exports"],"sources":["../../src/index.ts"],"sourcesContent":["import stylelint, { PostcssResult, Rule } from 'stylelint';\nimport postcssValueParser, {} from 'postcss-value-parser';\nimport levenshtein from 'js-levenshtein';\nimport type { Declaration } from 'postcss';\nimport { resolve as resolvePath, isAbsolute as isAbsolutePath } from 'path';\n\nconst ruleName = 'intergalactic/design-tokens';\nconst messages = stylelint.utils.ruleMessages(ruleName, {\n expected: (property, usedToken, recommendation) => {\n if (recommendation)\n return `Unexpected design token \"${usedToken}\" in property \"${property}\". Did you mean ${recommendation}?`;\n return `Unexpected design token \"${usedToken}\" in property \"${property}\".`;\n },\n});\n\nconst getClosestTokens = (value: string, designTokensList: string[]) => {\n const distanced = designTokensList.map((token) => {\n const distance = levenshtein(token, value);\n return {\n token,\n distance,\n };\n });\n distanced.sort((a, b) => a.distance - b.distance);\n\n return distanced\n .filter(({ distance }) => distance <= 5)\n .slice(0, 3)\n .map(({ token }) => token);\n};\n\nconst stringifyList = (list: string[]) => {\n if (list.length === 0) return '';\n if (list.length === 1) return list[0];\n return `${list.slice(0, -1).join(', ')} or ${list.slice(-1)}`;\n};\n\ntype Replacement = { from: string; to: string } | null;\nconst validateToken = (\n value: string,\n prefix: string,\n designTokensSet: Set<string>,\n designTokensList: string[],\n): Replacement => {\n let replacement: Replacement = null;\n\n const parsedValue = postcssValueParser(value);\n parsedValue.walk((node) => {\n if (replacement) return;\n if (node.type === 'function' && node.value === 'var' && node.nodes.length > 0) {\n const token = node.nodes[0].value;\n if (token.startsWith(prefix) && !designTokensSet.has(token)) {\n replacement = {\n from: token,\n to: stringifyList(getClosestTokens(token, designTokensList)),\n };\n }\n }\n });\n\n return replacement;\n};\n\nconst validateDecl = (\n decl: Declaration,\n result: PostcssResult,\n prefix: string,\n designTokensSet: Set<string>,\n designTokensList: string[],\n) => {\n const property = decl.prop;\n const value = decl.value;\n\n const replacement = validateToken(value, prefix, designTokensSet, designTokensList);\n\n if (replacement) {\n stylelint.utils.report({\n ruleName,\n result,\n node: decl,\n message: messages.expected(property, replacement.from, replacement.to),\n });\n }\n};\n\ntype Options = {\n tokensSource: string;\n include: string[];\n exclude: string[];\n prefix: string;\n};\n\nconst defaultOptions = {\n tokensSource: 'node_modules/intergalactic/utils/lib/themes/default.json',\n include: [],\n exclude: [],\n prefix: '--intergalactic-',\n} satisfies Options;\n\nconst meta = {\n url: 'https://developer.semrush.com/intergalactic/style/design-tokens/design-tokens#stylelint-plugin',\n};\n\nconst rule: Rule = (enabled: boolean, providedOptions: Partial<Options> = {}) => {\n if (!enabled) return () => {};\n\n const options = { ...defaultOptions, ...providedOptions };\n const tokensSource = isAbsolutePath(options.tokensSource)\n ? options.tokensSource\n : resolvePath(process.cwd(), options.tokensSource);\n const designTokens = require(tokensSource);\n const designTokensList = [...Object.keys(designTokens), ...options.include].filter(\n (token) => !options.exclude.includes(token),\n );\n const designTokensSet = new Set(designTokensList);\n const prefix = options.prefix;\n\n return (postcssRoot, result) => {\n postcssRoot.walkDecls((decl) => {\n validateDecl(decl, result, prefix, designTokensSet, designTokensList);\n });\n };\n};\n\nrule.ruleName = ruleName;\nrule.messages = messages;\nrule.meta = meta;\n(rule as any).rule = rule;\n\nmodule.exports = rule;\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -30,18 +30,18 @@ var _intergalacticDynamicLocales = require("./translations/__intergalactic-dynam
30
30
  var _i18nEnhance = _interopRequireDefault(require("intergalactic/utils/lib/enhances/i18nEnhance"));
31
31
  var _keyboardFocusEnhance = _interopRequireDefault(require("intergalactic/utils/lib/enhances/keyboardFocusEnhance"));
32
32
  /*__reshadow-styles__:"./style/time-picker.shadow.css"*/
33
- var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___STimePicker_1xp2e_gg_{position:relative;width:auto;outline:0}.___STimePicker_1xp2e_gg_.__keyboardFocused_1xp2e_gg_:focus{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___STimePicker_1xp2e_gg_.__disabled_1xp2e_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}.___SPickerInput_1xp2e_gg_{box-sizing:content-box;text-align:center;z-index:1;height:1.5em}.___SPickerInput_1xp2e_gg_.__placeholder_1xp2e_gg_{text-overflow:initial}.___SPickerInput_1xp2e_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus, rgba(0, 143, 248, 0.2))}.___SPickerInput_1xp2e_gg_._size_l_1xp2e_gg_,.___SPickerInput_1xp2e_gg_._size_m_1xp2e_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x, 8px);padding:0}.___SPickerInput_1xp2e_gg_._size_l_1xp2e_gg_{width:21px}.___SPickerFormat_1xp2e_gg_{flex-shrink:0;position:relative;display:inline-flex;padding:0;white-space:nowrap;font-family:inherit;font-weight:var(--intergalactic-medium, 500);line-height:normal;-webkit-text-decoration:none;text-decoration:none;align-items:center;border:1px solid var(--intergalactic-border-primary, #c4c7cf);border-radius:0 var(--intergalactic-control-rounded, 6px) var(--intergalactic-control-rounded, 6px)0;outline:0;box-shadow:none;cursor:pointer;box-sizing:border-box;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral, #f4f5f9)}@media (hover:hover){.___SPickerFormat_1xp2e_gg_:hover{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-hover, #e0e1e9)}}.___SPickerFormat_1xp2e_gg_.__active_1xp2e_gg_,.___SPickerFormat_1xp2e_gg_:active{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-active, #c4c7cf)}.___SPickerFormat_1xp2e_gg_._size_m_1xp2e_gg_{height:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px);margin:0-1px 0 0}.___SPickerFormat_1xp2e_gg_._size_m_1xp2e_gg_ .___SPickerFormatText_1xp2e_gg_{margin:0 var(--intergalactic-spacing-2x, 8px)}.___SPickerFormat_1xp2e_gg_._size_l_1xp2e_gg_{height:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px);margin:0 calc(-1*var(--intergalactic-spacing-1x, 4px))0 0}.___SPickerFormat_1xp2e_gg_._size_l_1xp2e_gg_ .___SPickerFormatText_1xp2e_gg_{margin:0 var(--intergalactic-spacing-3x, 12px)}.___SPickerFormat_1xp2e_gg_.__disabled_1xp2e_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none;border-color:transparent transparent transparent var(--intergalactic-border-primary, #c4c7cf)}.___SPickerFormat_1xp2e_gg_.__keyboardFocused_1xp2e_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___STimePickerSeparator_1xp2e_gg_{color:var(--intergalactic-text-primary, #191b23)}.___STimePickerSeparator_1xp2e_gg_.__disabled_1xp2e_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);pointer-events:none}" /*__inner_css_end__*/, "1xp2e_gg_") /*__reshadow_css_end__*/, {
34
- "__STimePicker": "___STimePicker_1xp2e_gg_",
35
- "_keyboardFocused": "__keyboardFocused_1xp2e_gg_",
36
- "_disabled": "__disabled_1xp2e_gg_",
37
- "__SPickerInput": "___SPickerInput_1xp2e_gg_",
38
- "_size_m": "_size_m_1xp2e_gg_",
39
- "_size_l": "_size_l_1xp2e_gg_",
40
- "__SPickerFormat": "___SPickerFormat_1xp2e_gg_",
41
- "__STimePickerSeparator": "___STimePickerSeparator_1xp2e_gg_",
42
- "_placeholder": "__placeholder_1xp2e_gg_",
43
- "_active": "__active_1xp2e_gg_",
44
- "__SPickerFormatText": "___SPickerFormatText_1xp2e_gg_"
33
+ var style = ( /*__reshadow_css_start__*/_index.sstyled.insert( /*__inner_css_start__*/".___STimePicker_61s1m_gg_{position:relative;width:auto;outline:0}.___STimePicker_61s1m_gg_.__keyboardFocused_61s1m_gg_:focus{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___STimePicker_61s1m_gg_.__disabled_61s1m_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}.___SPickerInput_61s1m_gg_{box-sizing:content-box;text-align:center;z-index:1;height:1.5em}.___SPickerInput_61s1m_gg_.__placeholder_61s1m_gg_{text-overflow:initial}.___SPickerInput_61s1m_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus, rgba(0, 143, 248, 0.2))}.___SPickerInput_61s1m_gg_._size_l_61s1m_gg_,.___SPickerInput_61s1m_gg_._size_m_61s1m_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x, 8px);padding:0}.___SPickerInput_61s1m_gg_._size_l_61s1m_gg_{width:21px}.___SPickerFormat_61s1m_gg_{flex-shrink:0;position:relative;display:inline-flex;padding:0;white-space:nowrap;font-family:inherit;font-weight:var(--intergalactic-medium, 500);line-height:normal;-webkit-text-decoration:none;text-decoration:none;align-items:center;border:1px solid var(--intergalactic-border-primary, #c4c7cf);border-radius:0 var(--intergalactic-control-rounded, 6px) var(--intergalactic-control-rounded, 6px)0;outline:0;box-shadow:none;cursor:pointer;box-sizing:border-box;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral, #f4f5f9)}@media (hover:hover){.___SPickerFormat_61s1m_gg_:hover{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-hover, #e0e1e9)}}.___SPickerFormat_61s1m_gg_.__active_61s1m_gg_,.___SPickerFormat_61s1m_gg_:active{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-active, #c4c7cf)}.___SPickerFormat_61s1m_gg_._size_m_61s1m_gg_{height:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px);margin:0-1px 0 0}.___SPickerFormat_61s1m_gg_._size_m_61s1m_gg_ .___SPickerFormatText_61s1m_gg_{margin:0 var(--intergalactic-spacing-2x, 8px)}.___SPickerFormat_61s1m_gg_._size_l_61s1m_gg_{height:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px);margin:0 calc(-1*var(--intergalactic-spacing-1x, 4px))0 0}.___SPickerFormat_61s1m_gg_._size_l_61s1m_gg_ .___SPickerFormatText_61s1m_gg_{margin:0 var(--intergalactic-spacing-3x, 12px)}.___SPickerFormat_61s1m_gg_.__disabled_61s1m_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none;border-color:transparent transparent transparent var(--intergalactic-border-primary, #c4c7cf)}.___SPickerFormat_61s1m_gg_.__keyboardFocused_61s1m_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___STimePickerSeparator_61s1m_gg_{color:var(--intergalactic-text-primary, #191b23)}.___STimePickerSeparator_61s1m_gg_.__disabled_61s1m_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);pointer-events:none}" /*__inner_css_end__*/, "61s1m_gg_") /*__reshadow_css_end__*/, {
34
+ "__STimePicker": "___STimePicker_61s1m_gg_",
35
+ "_keyboardFocused": "__keyboardFocused_61s1m_gg_",
36
+ "_disabled": "__disabled_61s1m_gg_",
37
+ "__SPickerInput": "___SPickerInput_61s1m_gg_",
38
+ "_size_m": "_size_m_61s1m_gg_",
39
+ "_size_l": "_size_l_61s1m_gg_",
40
+ "__SPickerFormat": "___SPickerFormat_61s1m_gg_",
41
+ "__STimePickerSeparator": "___STimePickerSeparator_61s1m_gg_",
42
+ "_placeholder": "__placeholder_61s1m_gg_",
43
+ "_active": "__active_61s1m_gg_",
44
+ "__SPickerFormatText": "___SPickerFormatText_61s1m_gg_"
45
45
  });
46
46
  var MAP_MERIDIEM = {
47
47
  AM: 'PM',
@@ -18,18 +18,18 @@ import Format from './PickerFormat';
18
18
  import { localizedMessages } from './translations/__intergalactic-dynamic-locales';
19
19
  import i18nEnhance from 'intergalactic/utils/lib/enhances/i18nEnhance';
20
20
  /*__reshadow-styles__:"./style/time-picker.shadow.css"*/
21
- var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___STimePicker_1xp2e_gg_{position:relative;width:auto;outline:0}.___STimePicker_1xp2e_gg_.__keyboardFocused_1xp2e_gg_:focus{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___STimePicker_1xp2e_gg_.__disabled_1xp2e_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}.___SPickerInput_1xp2e_gg_{box-sizing:content-box;text-align:center;z-index:1;height:1.5em}.___SPickerInput_1xp2e_gg_.__placeholder_1xp2e_gg_{text-overflow:initial}.___SPickerInput_1xp2e_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus, rgba(0, 143, 248, 0.2))}.___SPickerInput_1xp2e_gg_._size_l_1xp2e_gg_,.___SPickerInput_1xp2e_gg_._size_m_1xp2e_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x, 8px);padding:0}.___SPickerInput_1xp2e_gg_._size_l_1xp2e_gg_{width:21px}.___SPickerFormat_1xp2e_gg_{flex-shrink:0;position:relative;display:inline-flex;padding:0;white-space:nowrap;font-family:inherit;font-weight:var(--intergalactic-medium, 500);line-height:normal;-webkit-text-decoration:none;text-decoration:none;align-items:center;border:1px solid var(--intergalactic-border-primary, #c4c7cf);border-radius:0 var(--intergalactic-control-rounded, 6px) var(--intergalactic-control-rounded, 6px)0;outline:0;box-shadow:none;cursor:pointer;box-sizing:border-box;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral, #f4f5f9)}@media (hover:hover){.___SPickerFormat_1xp2e_gg_:hover{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-hover, #e0e1e9)}}.___SPickerFormat_1xp2e_gg_.__active_1xp2e_gg_,.___SPickerFormat_1xp2e_gg_:active{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-active, #c4c7cf)}.___SPickerFormat_1xp2e_gg_._size_m_1xp2e_gg_{height:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px);margin:0-1px 0 0}.___SPickerFormat_1xp2e_gg_._size_m_1xp2e_gg_ .___SPickerFormatText_1xp2e_gg_{margin:0 var(--intergalactic-spacing-2x, 8px)}.___SPickerFormat_1xp2e_gg_._size_l_1xp2e_gg_{height:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px);margin:0 calc(-1*var(--intergalactic-spacing-1x, 4px))0 0}.___SPickerFormat_1xp2e_gg_._size_l_1xp2e_gg_ .___SPickerFormatText_1xp2e_gg_{margin:0 var(--intergalactic-spacing-3x, 12px)}.___SPickerFormat_1xp2e_gg_.__disabled_1xp2e_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none;border-color:transparent transparent transparent var(--intergalactic-border-primary, #c4c7cf)}.___SPickerFormat_1xp2e_gg_.__keyboardFocused_1xp2e_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___STimePickerSeparator_1xp2e_gg_{color:var(--intergalactic-text-primary, #191b23)}.___STimePickerSeparator_1xp2e_gg_.__disabled_1xp2e_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);pointer-events:none}" /*__inner_css_end__*/, "1xp2e_gg_") /*__reshadow_css_end__*/, {
22
- "__STimePicker": "___STimePicker_1xp2e_gg_",
23
- "_keyboardFocused": "__keyboardFocused_1xp2e_gg_",
24
- "_disabled": "__disabled_1xp2e_gg_",
25
- "__SPickerInput": "___SPickerInput_1xp2e_gg_",
26
- "_size_m": "_size_m_1xp2e_gg_",
27
- "_size_l": "_size_l_1xp2e_gg_",
28
- "__SPickerFormat": "___SPickerFormat_1xp2e_gg_",
29
- "__STimePickerSeparator": "___STimePickerSeparator_1xp2e_gg_",
30
- "_placeholder": "__placeholder_1xp2e_gg_",
31
- "_active": "__active_1xp2e_gg_",
32
- "__SPickerFormatText": "___SPickerFormatText_1xp2e_gg_"
21
+ var style = ( /*__reshadow_css_start__*/_sstyled.insert( /*__inner_css_start__*/".___STimePicker_61s1m_gg_{position:relative;width:auto;outline:0}.___STimePicker_61s1m_gg_.__keyboardFocused_61s1m_gg_:focus{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___STimePicker_61s1m_gg_.__disabled_61s1m_gg_{color:var(--intergalactic-text-secondary, #6c6e79);cursor:default}.___SPickerInput_61s1m_gg_{box-sizing:content-box;text-align:center;z-index:1;height:1.5em}.___SPickerInput_61s1m_gg_.__placeholder_61s1m_gg_{text-overflow:initial}.___SPickerInput_61s1m_gg_:focus{background-color:var(--intergalactic-bg-highlight-focus, rgba(0, 143, 248, 0.2))}.___SPickerInput_61s1m_gg_._size_l_61s1m_gg_,.___SPickerInput_61s1m_gg_._size_m_61s1m_gg_{width:19px;margin:0 var(--intergalactic-spacing-2x, 8px);padding:0}.___SPickerInput_61s1m_gg_._size_l_61s1m_gg_{width:21px}.___SPickerFormat_61s1m_gg_{flex-shrink:0;position:relative;display:inline-flex;padding:0;white-space:nowrap;font-family:inherit;font-weight:var(--intergalactic-medium, 500);line-height:normal;-webkit-text-decoration:none;text-decoration:none;align-items:center;border:1px solid var(--intergalactic-border-primary, #c4c7cf);border-radius:0 var(--intergalactic-control-rounded, 6px) var(--intergalactic-control-rounded, 6px)0;outline:0;box-shadow:none;cursor:pointer;box-sizing:border-box;overflow:visible;-webkit-user-select:none;-moz-user-select:none;user-select:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent;color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral, #f4f5f9)}@media (hover:hover){.___SPickerFormat_61s1m_gg_:hover{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-hover, #e0e1e9)}}.___SPickerFormat_61s1m_gg_.__active_61s1m_gg_,.___SPickerFormat_61s1m_gg_:active{color:var(--intergalactic-text-secondary, #6c6e79);background-color:var(--intergalactic-bg-secondary-neutral-active, #c4c7cf)}.___SPickerFormat_61s1m_gg_._size_m_61s1m_gg_{height:var(--intergalactic-form-control-m, 28px);font-size:var(--intergalactic-fs-200, 14px);margin:0-1px 0 0}.___SPickerFormat_61s1m_gg_._size_m_61s1m_gg_ .___SPickerFormatText_61s1m_gg_{margin:0 var(--intergalactic-spacing-2x, 8px)}.___SPickerFormat_61s1m_gg_._size_l_61s1m_gg_{height:var(--intergalactic-form-control-l, 40px);font-size:var(--intergalactic-fs-300, 16px);margin:0 calc(-1*var(--intergalactic-spacing-1x, 4px))0 0}.___SPickerFormat_61s1m_gg_._size_l_61s1m_gg_ .___SPickerFormatText_61s1m_gg_{margin:0 var(--intergalactic-spacing-3x, 12px)}.___SPickerFormat_61s1m_gg_.__disabled_61s1m_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);cursor:default;pointer-events:none;border-color:transparent transparent transparent var(--intergalactic-border-primary, #c4c7cf)}.___SPickerFormat_61s1m_gg_.__keyboardFocused_61s1m_gg_{box-shadow:var(--intergalactic-keyboard-focus, 0px 0px 0px 3px rgba(0, 143, 248, 0.5))}.___STimePickerSeparator_61s1m_gg_{color:var(--intergalactic-text-primary, #191b23)}.___STimePickerSeparator_61s1m_gg_.__disabled_61s1m_gg_{opacity:var(--intergalactic-disabled-opacity, 0.3);pointer-events:none}" /*__inner_css_end__*/, "61s1m_gg_") /*__reshadow_css_end__*/, {
22
+ "__STimePicker": "___STimePicker_61s1m_gg_",
23
+ "_keyboardFocused": "__keyboardFocused_61s1m_gg_",
24
+ "_disabled": "__disabled_61s1m_gg_",
25
+ "__SPickerInput": "___SPickerInput_61s1m_gg_",
26
+ "_size_m": "_size_m_61s1m_gg_",
27
+ "_size_l": "_size_l_61s1m_gg_",
28
+ "__SPickerFormat": "___SPickerFormat_61s1m_gg_",
29
+ "__STimePickerSeparator": "___STimePickerSeparator_61s1m_gg_",
30
+ "_placeholder": "__placeholder_61s1m_gg_",
31
+ "_active": "__active_61s1m_gg_",
32
+ "__SPickerFormatText": "___SPickerFormatText_61s1m_gg_"
33
33
  });
34
34
  import keyboardFocusEnhance from 'intergalactic/utils/lib/enhances/keyboardFocusEnhance';
35
35
  var MAP_MERIDIEM = {
@@ -22,15 +22,12 @@ export type TooltipProps = Intergalactic.InternalTypings.EfficientOmit<PopperPro
22
22
  theme?: 'default' | 'warning' | 'invert';
23
23
 
24
24
  /**
25
- * Tooltip should have only one interaction - `hover`. You shouldn't use it with another interactions.
26
- * We'll delete this prop in next major release.
25
+ * Hover interaction means that popper will be shown on mouse hover or keyboard focus.
26
+ * Click interactions means that popper will be shown on mouse click or keyboard Space/Enter keydown.
27
+ * Focus interaction means that popper will be shown on mouse or keyboard focus.
28
+ * @default hover
27
29
  */
28
- interaction?:
29
- | 'hover'
30
- | 'click' /** @deprecated */
31
- | 'focus' /** @deprecated */
32
- | 'none' /** @deprecated */
33
- | eventInteraction /** @deprecated */;
30
+ interaction?: 'hover' | 'click' | 'focus' | 'none' | eventInteraction;
34
31
  };
35
32
 
36
33
  export type TooltipTriggerContext = PopperContext & {
@@ -58,13 +55,7 @@ export type TooltipHintProps = Intergalactic.InternalTypings.EfficientOmit<
58
55
  * Tooltip theme. You can use the default themes or create your own
59
56
  * @default default
60
57
  */
61
- theme?: 'default' | 'warning' | 'invert';
62
-
63
- /**
64
- * Tooltip should have only one interaction - `hover`. You shouldn't use it with another interactions.
65
- * We'll delete this prop in next major release.
66
- */
67
- interaction?: 'hover' | 'focus';
58
+ theme?: 'default' | 'invert';
68
59
  };
69
60
  export type TooltipHintPopperProps = Intergalactic.InternalTypings.EfficientOmit<
70
61
  HintProps,
@@ -93,8 +84,9 @@ export type DescriptionTooltipProps = Intergalactic.InternalTypings.EfficientOmi
93
84
  theme?: 'default' | 'warning' | 'invert';
94
85
 
95
86
  /**
96
- * Tooltip should have only one interaction - `hover`. You shouldn't use it with another interactions.
97
- * We'll delete this prop in next major release.
87
+ * Hover interaction means that popper will be shown on mouse hover or keyboard focus.
88
+ * Click interactions means that popper will be shown on mouse click or keyboard Space/Enter keydown.
89
+ * @default click
98
90
  */
99
91
  interaction?: 'hover' | 'click';
100
92
  };