Commit graph

202 commits

Author SHA1 Message Date
Stacey Gammon 1c7066d0a5
Add disabled option for kuiContextMenuItems (#15119) (#15271)
* Add disabled option for kuiContextMenuItems

* add jest test to make sure onclick isn't called when disabled is set to tru.
2017-11-30 08:54:40 -05:00
CJ Cenizal 855fe9f200
[UI Framework] Fix IE11 bug which caused kuiToolBarSearch to grow too wide when there is only a single kuiToolBarSection sibling. (#15215) (#15224)
* Fix IE11 bug which caused kuiToolBarSearch to grow too wide when there is only a single kuiToolBarSection sibling.
* Fix bugs with KuiListingTableToolBar rendering empty sections. Update docs example to demonstrate a tool bar with a search and a section.
2017-11-28 14:52:19 -08:00
CJ Cenizal 4e2832d061
[UI Framework] Add support for wrap prop to FlexGroup (#15009) (#15128)
* Migrate KuiFlexItem numeric grow prop from EUI.
* Loop through FlexGroup gutter size modifiers.
* Add wrap prop to FlexGroup.
2017-11-22 12:27:39 -08:00
CJ Cenizal 1f6af2e792
Fixes require statements to use explicit loader statements (#14725) (#15126) 2017-11-22 12:11:45 -08:00
Tim Roes f3a058e1d8
Adding scope to all table headers, fix #12401 (#15079) (#15090)
* Add scope for all th in Kibana

* Add scope to <th> in ui framework

* Update jest snapshots with scope

* Fix wrong usage of colgroup
2017-11-21 21:48:10 +01:00
Stacey Gammon 23c6106065
Add a feature for custom panel titles (#14831) (#15004)
* Add a feature for custom panel titles

* Add tests and put back data-test-subjs

* sync with master and add padding to form

* UI/UX cleanup

- add enter on close functionality
- make reset title a link instead of a button
- Push css to visualizations instead of the panel. This means
background colors will be flush to the panel.  Override for tile maps
which apparently need it (yet region maps don’t for some reason??)

* Fix refactor miss from merge

* whoops, put block display back to make link fall to bottom

* Undo accidental delete visualization name change

* Color top pop over arrow correctly

* Use naming Options and Customize Panel

* update jest snapshot

* Use custom panels for data-title attributes
2017-11-16 15:56:29 -05:00
CJ Cenizal 54897612ab
Fix some accessibility coloring issues (#14972) (#14981)
Fixes table contract and some discover contrast issues.
2017-11-15 14:46:59 -08:00
Spencer 98a1c5a0f1
[6.x] Upgrade to eslint 4 (#14862) (#14951)
* [eslint] upgrade to 4.10.0

* [eslint-config-kibana] limit jest config to jest test files

* [ui_framework] remove trailing comma from rest-spreads

* [dashboard/tests] tag jest helpers with .test.js suffix

* explicitly import expect.js where used

* [eslint] apply auto-fixes

* [eslint] manually add/wrap some parens for compliance

* [npm] point to local packages for testing/review

* [jest] remove .test extension from jest helpers

* [ui_framework] fix trailing comma removal from 3bc661a1c8

* [packages] upgrade eslint packages
2017-11-14 20:20:37 -07:00
CJ Cenizal 49aa2f2063
Fix Jest warnings for ConfirmModal. (#14892) (#14902) 2017-11-10 09:04:28 -08:00
CJ Cenizal 615242ef74
[UI Framework] Add isReadOnly prop to KuiCodeEditor. (#14804) (#14875)
* Add isReadOnly prop to KuiCodeEditor.
* Place cursor at beginning of code editor if it's read-only.
* Surface prompt for isReadOnly mode. Only show cursor when the editor is focused.
2017-11-09 09:24:11 -08:00
Spencer 4a5ba237df
[6.x] Upgrade to webpack 3 (#14315) (#14824)
* [timelion] remove last remaining amd modules

* [eslint-config-kibana] remove env.amd

* [webpack] use absolute loader names

* [webpack] remove absolute node_modules/ imports

* [webpack] upgrade to webpack 3

* [uiFramework] make webpack build compatible with v3

* [eslint-import-resolver] use https://github.com/elastic/eslint-import-resolver-kibana/pull/21

* [baseOptimizer] don't break when pkg has no dependencies

* [optimize] remove unnecessary json-loader

* [optimize] remove local references to webpack vars

* [eslint] upgrade to eslint-import-resolver-kibana 0.9.0

* [baseOptimizer] comment tweaks

* [baseOptimizer] remove loader pinning

In webpack 1 the loaders defined here were resolved relative to the file they were going to load, which meant that plugins in other projects could accidentally overwrite the loaders Kibana was trying to use, which is why the aliases were used to enforce proper resolution.

In webpack 2 loaders are now resolved relative to the webpackConfig.context, which is set to the root of the Kibana repo. See https://webpack.js.org/configuration/module/#useentry

* [webpack] rely on kibana webpack shims before checking node_modules

(cherry picked from commit f60639fccb)
2017-11-07 15:54:48 -07:00
CJ Cenizal a823972f40
Fix spacing bug with LocalTabs. (#14772) (#14773) 2017-11-03 22:59:08 -07:00
CJ Cenizal c371dfda28
Reset Chrome's native styling for button border-radius (#14758) (#14762)
* Use buttons in LocalNav examples.
* Reset button border-radius to 0 to fix Chrome native styles.
2017-11-03 10:49:02 -07:00
Nathan Reese eae5e6893b
Kibana Home page - phase one (#14673) (#14733)
* make kibana home app default when defaultAppId not set

* make kibana icon link to home page, add react-router for routing within home app

* directory registry

* add href to directory listings

* add tabs to directory page

* add promo section to home page

* home page styling

* use kuiFlex components to display directory in columns

* fix react array missing key warning

* add icons

* remove feature directory title from home page, change data sources to integrations

* add tutorials registry

* fix rebase mistake

* start tutorial component

* wrap tutorial registration in helper function to hide implemenation details

* add constants for categry and instruction variant ids

* filter tutorial directory by tab category

* remove later phase stuff

* clean-up feature directory styling

* add kbnDirectory to uiExports

* remove unused file

* cleanup timelion plugin definition

* fix lint errors

* css work recommended by formgeist review

* cleanup from pairing session with snide

* rename kbnDirectory registry to featureCatalogue, rename kbnDirectory uiExports to home

* update kibana index uses name to match ui-exports name

* remove carot from package versions

* remove kuiViewContent--constrainedWidth from feature directory view

* updates from Stacey-Gammon review

* import FeatureCatalogueCategory instead of passing as parameter

* wrap KuiButton in href to fix button click bug

* remove conditional check for ADMIN and DATA feature category tabs

* consider apps for the 'OTHER' tab as anything not in ADMIN or DATA

* remove temp variable tabs and just store in this

* avoid overwriting kui class styles

* prefix class names with home

* updates from timroes review
2017-11-02 14:11:24 -06:00
CJ Cenizal 5f5f727d39
Remove unused snapshot_component.js. (#14709) 2017-11-01 16:19:39 -07:00
CJ Cenizal 25128638ea
[UI Framework] Reactify basic form components (#14374) (#14697)
* add basic form React components and their tests
* make own subdirectory for each form element
2017-10-31 15:47:39 -07:00
CJ Cenizal 329288d63a
[UI Framework] Update Popover, Table, and ContextMenu to support ContextMenus within Tables (#14682) (#14691)
* Update Popover, Table, and ContextMenu to support ContextMenus within Tables.
2017-10-31 10:52:50 -07:00
CJ Cenizal 07635f7d8d [UI Framework] Fix Popover and ContextMenu bugs (#14617) (#14629)
* Rename KuiPopover isFocusable prop to ownFocus. Focus on first focusable element by default.
* Fix bug where ContextMenuPanel keyboard navigation broke if the user was using tab instead of arrow keys.
2017-10-26 17:03:31 -07:00
Tim Sullivan 6aecd2faef [UI] allow search toolbar input to be updated from state change (#14588) (#14593) 2017-10-26 14:52:07 -07:00
CJ Cenizal dddae8fa68 Port KuiModal K7 improvements. (#14557) (#14618)
* Port KuiModal K7 improvements.
- Add FocusTrap to KuiModal.
- Delete KuiModalBodyText.
- Add support for dark theme to KuiModal and typographic components.
- Update Kibana Angular confirm modal and Clone Dashboard modal.
* Remove KuiModalBodyText reference from ChangeIndexModal.
* Improve color contrast of hollow Button in dark theme.
* Fix bug with ShowCloneModal not being unmounted when it's closed.
* Fix bug with ShowChangeIndexModal not being unmounted when it's closed.
2017-10-26 11:05:43 -07:00
CJ Cenizal 692e2642af Improve logic for tabbing through a ContextMenuPanel's form elements. (#14572) (#14591)
- Support left arrow going back when the panel itself is focused.
2017-10-25 15:21:51 -07:00
CJ Cenizal 7cda1aae09 [eslint-config-kibana] Apply AirBnB spacing rules (#14522) (#14590)
* Add AirBnB key-spacing rule.
* Add AirBnB comma-spacing rule.
2017-10-25 15:19:19 -07:00
CJ Cenizal fa3daf82cb Fix broken kuiInputBackgroundColor reference. (#14558) (#14559) 2017-10-24 17:55:32 -07:00
CJ Cenizal a477efdc0b [UI Framework] Improve KuiContextMenu keyboard navigation UX (#14434) (#14556)
* Refactor focus state logic to use the React lifecycle correctly.
* Update KuiPopover snapshots.
* Remove unnecessary isVisible prop from KuiContextMenu.
* Allow user to both tab AND use the arrow keys for navigation.
* Reinstate ability to tab and shift-tab to the title of KuiContextMenuPanel.
* Release focus from Dashboard panel options KuiContextMenu by closing it when you select an option.
* Update KuiContextMenu example to demonstrate best practice of closing the menu when an item is clicked.
* Replace native transitionend event handler with onAnimationEnd React event handler.
2017-10-24 17:39:53 -07:00
CJ Cenizal 5324bb9ea3 [11532] Improve local nav accessibility (#14365) (#14554)
* Use h2 elements for titles in Sharing dropdown.
* Override inherited typographic styles in kuiLocalDropdownTitle.
* Use h2 elements for titles in Console dropdowns.
* Update kuiLocalDropdownHeader__label class to be applicable to legend elements.
* Update Console settings menu with aria labeling and UI Framework styles.
* Remove unused config-close styles.
* Update Dashboard local nav dropdowns with form labels and h2 elements.
* Add support for dark theme to kuiCheckBox.
* Update Dashboard local nav dropdowns and saved-object-save-as-check-box directive with kuiCheckBoxLabel styles.
* Update Discover local nav with h2 elements.
* Update Visualize local nav with h2 element.
* Add aria-label to unlabeled inputs in Discover, Visualuze, and Timelion inputs.
* Update Timelion local nav with h2 elements.
* Update timepicker with tab roles, h2 elements, and UI Framework styles.
* Improve labeling and add aria-selected to timepicker tabs.
- Refactor timepicker tabs to adhere to tablist structure correctly.
* Add tablist role.
2017-10-24 17:28:53 -07:00
CJ Cenizal e3292cf397 Fix margin for KuiLocalTabs which are applied to typographic elements. (#14451) 2017-10-12 16:06:36 -07:00
Stacey Gammon 448fb5e8ca Reactify visualize listing table (#14227) (#14447)
* Reactify visualize listing table

* refactor toolbar => toolBar

* use prompt prop to also cover loading and didn't match search logic.

* Use default alignment instead of ternary

* Add keys to array elements where missing

* Add align property to KuiTableHeaderCell

* Fix issue with filter not showing up in search tool bar

* onCheckChanged => onSelectionChanged

* pagerComponent => pager, actionComponent => actions

* use singular verbiage when only 1 item is selected

* exit early per style guide

* fix lint errors

* rename columns => header

* Refactor KuiTableHeaderCell into KuiListingTable

isChecked => isSelected

contents => content

refactor KuiTableRowCell internally

* fix lint errors

* areAllRowsChecked => areAllRowsSelected

* improve itemSelectedCount logic in KuiListingTableToolBarFooter

* React.Component => Component

* make header data a variable, not a function

* Only consider all rows selected if rows exist and they are all selected, not if there are no rows.

* Adding a few KuiListingTable tests

* Give one column sort attributes in examples page
2017-10-12 15:13:12 -04:00
Tim Roes b05549a002 [UI Framework] KuiGalleryItem automatically becomes link or button (#14240)
* KuiGalleryItem automatically becomes link or button

* Add onClick tests

* Add doc example with onClick
2017-10-12 10:22:55 +02:00
CJ Cenizal c107b0aea0 Add missing KuiPopover tests. (#14433) 2017-10-11 17:01:52 -07:00
CJ Cenizal 982eb870b7 Fix prop-types warnings in Jest tests (#14339) (#14428)
* Refine formatting of KuiCodeEditor.
* Update KuiButton and KuiLinkButton tests so aria-label warnings go away.
* Import brace dependencies into KuiCodeEditor example to make console error go away.
* Upgrade react-ace to 5.2.2 to make prop-types warnings go away.
2017-10-11 09:30:39 -07:00
CJ Cenizal 20742822bc [UI Framework] Add KuiContextMenu. (#14183) (#14427)
* Add KuiContextMenu.
- Update KuiPopover to use K7 code.
- Add KuiPanelSimple for use within KuiPopover; it's just the K7 KuiPanel renamed.
- Refactor/rewrite KuiExpression and KuiExpressionButton to depend upon KuiPopover.
- Add K7 shadow mixins and size and z-index vars to global_styling.

* Update Dashboard panel to use KuiContextMenu.
- Fix reloading issue when editing a visualization from within a dashboard.

* Completely refactor KuiContextMenu to enable a single panel.
- Move keyboard navigation logic into KuiContextPanel.
- Set focus on the item which shows the panel we're leaving within KuiContextMenu.
- Remove unnecessary logic from KuiPopoverTitle.
- Replace confusing idToPanelMap and idToPreviousPanelIdMap props with a panels prop.
- Replace panelRef prop with onHeightChange prop.
- Migrate transition state and logic from KuiContextMenu into KuiContextMenuPanel.
- Rename 'current panel' to 'incoming panel' for cohesion with 'outgoing panel.'
- Map panel items to panels up-front.
- Convert maps from state variables into instance variables.
2017-10-11 09:22:58 -07:00
CJ Cenizal 0a1cb425b4 [UI Framework] Port KuiFlexItem, KuiFlexGroup, and KuiFlexGrid components from K7. (#14387)
* Port KuiFlexItem, KuiFlexGroup, and KuiFlexGrid components from K7.
* Remove unused breakpoints.
2017-10-10 11:26:38 -07:00
Kim Joar Bekkelund feff479f77 Use Object spread instead of Object.assign where it makes sense (#13903) (#14397)
* Prefer Object spread

* Add eslint rules for Object spread

* no slice
2017-10-10 15:55:06 +02:00
Bill McConaghy 31576b2ffe allow React content in confirm modal (#14297) 2017-10-05 10:49:04 -04:00
Matt Bargar 18d03259de Show query and filter bars even when there's a linked search (#14212) (#14276)
The query bar used to be hidden in the presence of a linked search because unlike filters, queries didn't get merged when flattening a SearchSource hierarchy. That means a query in the query bar would override the query in the linked search. This is no longer the case. As of 6.0 we include all queries in the SearchSource hierarchy in the final request, so there's no longer any reason to hide the query bar.

Since filters created via a Vis show up in the query bar when Kuery is selected, these filters now appear correctly even when there's a linked search in the vis editor.

Previously when unlinking a saved search visualize would insert the query and filters from the saved search into app state before removing the SearchSource from the hierarcy. This posed a problem because combining two lucene query strings isn't as easy as combing two sets of filters. We decided this behavior was a bit counterintuitive anyway. If the user wants to unlink the saved search, they probably want to discard it, not combine it with their local changes. So I've also updated the unlinking functionality to discard the saved search.
2017-10-03 18:00:21 -04:00
CJ Cenizal b49ee5cf62 Add snapshotComponent test service for Jest. (#14226) (#14245)
* Reorganize jest directory and add a setup file which polyfills window.requestAnimationFrame.
* Add takeMountedSnapshot test service. Update KuiCodeEditor test to use it.
- Refactor tests to use a test subject selector to locate the hint element.
- Refine tests to leverage snapshots instead of DOM assertions.
* Update dashboard_panel test to use takeMountedSnapshot.
- Update snapshot.
- Update Jest config to make takeMountedSnapshot available to Kibana src.
2017-10-02 08:49:31 -07:00
Stacey Gammon b2ffeb71d2 Replace gridster with react-grid-layout (#13853) (#14242)
* Initial check-in to replace gridster with react-grid-layout and reactify panels

* # This is a combination of 3 commits.
# This is the 1st commit message:
Add margin of error to test determining panel widths

# This is the commit message #2:

use real kibana version when creating panel data. Will make future conversions easier.

# This is the commit message #3:

Fix lint errors

* Add margin of error to test determining panel widths

use real kibana version when creating panel data. Will make future conversions easier.

Move default height and width to dashboard_constants so those that need it don't end up including extra stuff like ui/chrome

* Remove unnecessary _.once when creating react directives in dashboard.js

* Remove unnecessary constructors

* Use componentDidMount instead of componentWillMount bc of async calls, and handle case where destroyEmbeddable is not defined.

* Remove unnecessary null in classNames

* Use loads defaultsDeep instead of Object.assign

* use render* instead of get* for functions returning an element

* use relative css paths

* Use local import path

* Switch to local imports and remove need for plugins path in jest tests

* Improve accessibility of max/min panel toggle icon

* remove unused css

Had to implement this via code

* disable eslint rule for setState in componentDidMount

Am not aware of a better way to handle this, aside from switching to
redux, since it’s recommended not to put async calls in
componentWillMount.  Since I plan to investigate redux next, disabling
for now. Open to other’s opinions on the matter.

* Use native map instead of lodash

* Have the grid handle setting the z-indexes of the right reactgriditem

* Make the draggable handle the title, not the whole heading

Otherwise the drag event often takes over click events when trying to
open the panel options menu and it gets really annoying.

* Change from click to mouse down detector in KuiOutsideClickDector so drags also close pop ups.

* Fix mistaken commit

Code from the redux PR snuck into this one.

* Run getEditPath and getTitle async calls in parallel - no need to wait on the return value of one before starting the others.

* Fix tests: update snapshots, add promise returns.

* version being added to panelData in the wrong spot caused isDirty flag to be true when it shouldn't be

* Fix unmounting/mounting problem with panels due to view/edit mode switch

* Fix bug where panels get squashed to one side when view mode is changed while a panel is expanded.

* Update snapshots to match wrong view mode comparison

* Improve naming of a variable

* Fix issue with pop over hiding behind tile maps

* Previous panel.js included ui/doc_table and ui/visualize - needed to include them in the chain for Dash only mode but not in that file.

* Fix bad merge: remove baseline screenshots
2017-10-02 11:45:36 -04:00
Tim Roes 2f88558a8d [UI Framework] Improve accessibility issues in the UI framework (#14073)
* Use proper labels in bar example

* Make aria-label on icon buttons mandatory

* Add role=group to KuiButtonGroup

* Add roles to card component

* Fix alphabetical ordering in menu

* Add accessibility example for KuiCollapseButton

* Improve accessibility of Event examples

* Add note about labeling to Form docs

* Update broken snapshots

* Fix icon in HeaderBar example

* Add default aria-label to InfoButton if not specified

* Fix wrong HTML entities

* Fix icon names in Event example

* Add icon labels in InfoPanel example

* Improve accessibility of Micro and MenuButton examples

* Add labels to StatusText example

* Apply proper ARIA roles for tabs

* Make ToggleButton example accessible

* Fix icon names in events sandbox

* Also allow aria-labelledby for icon buttons

* Fix spelling of collapsible

* Make statement about labels more clear

* Use proper Link element for linking

* Use propTypes to check for icon only buttons

* Use defaultProps in KuiInfoButton
2017-10-02 15:59:43 +02:00
Tim Roes 6c057a2ee2 Rename KuiGalleryButton to KuiGalleryItem (#14118) 2017-10-02 11:30:15 +02:00
CJ Cenizal 56a9d2602e Rename all $global-prefixed SCSS vars to use $kui-prefix for compatibility with K7. (#14222) 2017-09-29 15:48:21 -07:00
Tim Roes 8f2ccc3a4a [UI Framework] Add KuiCodeEditor as react-ace replacement/wrapper (#14026)
* Create KuiCodeEditor component

* Add additional tests

* Add PropTypes for KuiCodeEditor

* Rename hintInactive to isHintActive

* Rename enableOverlay to stopEditing

* Rename and move configureAce method

* Rename onHintKeyDown to onKeyDownHint

* Fix broken configureAce call

* Add onBlur to editor example

* Regroup test cases

* Don't lose value in KuiCodeEditor example

* Remove window.alert, due to annoying behavior when switching tabs

* Remove unnecessary constructor

* Replace string ref by callback ref

* Add a snapshot test

* Move stop editing method

* Use mount to render editor during test

* Extract setState into method in example
2017-09-22 18:09:57 +03:00
Spencer 5897c0d688 [uiFramework] fix webpack config (#14067)
(cherry picked from commit 9938ff8af1)
2017-09-21 16:33:04 -07:00
Tim Roes 51aab7edb2 Move htmlIdGenerator to ui_framework (#13906)
* Move htmlIdGenerator to ui_framework

* Use jest expect instead of chai

* Add htmlIdGenerator to accessibility styleguide

* Improve the writing of the accessibility styleguide
2017-09-11 13:23:33 +02:00
Felix Stürmer 5e0bc36915 [6.x] [UI Framework] add KuiExpressionItem and related components (#13881)
Backports PR #13383
2017-09-07 14:47:15 +02:00
Søren Louv-Jansen 3095b3bffb Update react 15.6.1 (#13672) (#13724) 2017-08-28 14:12:41 +02:00
Tim Roes 64b3c0ffa3 Refactor keycode exporting in ui_framework (#13663)
* Refactor keycode exporting in ui_framework

* Replace all uses of ENTER_KEY and SPACE_KEY

* Use ESCAPE instead of ESC universally

* Rename keycodes -> keyCodes

* Replace keyCodes in advanced_row
2017-08-24 21:26:13 +02:00
CJ Cenizal 592253fbe3 [Accessibility] Give kuiTables keyboard-accessible column headers (#13586) (#13692)
* Make KuiTable headers keyboard-accessible in UI Framework.
* Use flexbox to consistently apply spacing between table header cell text and sort icon.
* Add aria-label attributes to KuiTableHeaderCell, KuiTableHeaderCheckBoxCell, and KuiTableRowCheckBoxCell.
* Update Jest snapshots.
* Update Dashboard listing table with new markup.
* Update Saved Objects tables with new markup.
* Update Settings table with new markup.
* Update Visualize listing table with new markup.
* Remove padding-right for cells containing checkboxes.
* Update sortableColumn directive with new markup.
2017-08-24 11:52:18 -07:00
Chris Roberson 4885ca1743 "Create index pattern" wizard. (#13454)
* Create Index Pattern Creation wizard.
- Create a directive for each step in the wizard.
- Reorganize files into conventional folder structure.
- Rename files with more conventional and consistent naming patterns.
- Display indices, partial matches, exact matches.
- Add loading, empty, and success states.
- Add option to include system indices.

* Temp: comment out and mock getIndices functionality.

* Hook up data seaching

* Add for/id connections for form inputs and labels

* Automatically append a wildcard

* Highlight the index pattern in the results

* Ensure we only remove the last character if it's a `*`

* Auto hide index pattern id controls

* Ensure this link is tabbable

* Move the advanced fields down

* Use toggle button

* This shouldn't ever be required

* Revert "This shouldn't ever be required"

This reverts commit b6e31e79308271e7f04ea1d42ce66e32e7aa0612.

* Update based on comments in PR

* Ffew more changes

* Port changes from Tyler's PR, https://github.com/elastic/kibana/pull/13353

* Remove unnecessary file

* Fix broken functional tests

* Copy changes

* Fix functional tests

* Remove loading from the main select, and move to an additional select

* Show help text when loading

* Fix sorting

* Fixing broken functional tests

* Couple changes from PR review

* Ensure input field does not show a red border until touched

* More descriptive and consistent copy
2017-08-24 09:04:58 -04:00
CJ Cenizal e087c4b7d9 [UI Framework] Add KuiOutsideClickDetector (#13521) (#13618)
* Add KuiOutsideClickDetector.
* Convert KuiColorPicker and KuiPopover to use KuiOutsideClickDetector.
2017-08-21 09:00:43 -07:00
CJ Cenizal 7ed4365c2c [Accessibility] Make table pagination controls keyboard-accessible. (#13541) (#13601)
* Make table pagination controls keyboard-accessible. Update KuiLink so it can be used on a button element.
* Add additional properties to link mixin to make kuiLink look the same for both buttons and anchor tags.
* Fix tests.
2017-08-18 17:15:12 -07:00